Home

Database Creation

 

Microsoft ADO Ext.

 

Introduction

To get a database, you can either use one that exists already or you can create your own. ADO by itself doesn't provide the means to create a database. To create one, you can use the Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security, abbreviated ADOX. Before using ADOX, you must reference it in your Microsoft Visual C++ project. To do this, on the main menu of Visual C++ Express, you can click Project -> References... As an alternative, in the Solution Explorer, right-click the name of the project and click References...

In the Property Pages, click Add New References... In the COM tab of the Add Reference dialog box, locate the Microsoft ADO Ext. 2.7 or 2.8 for DDL and Security:

After referencing the library, you can use its classes. The classes of the ADOX library are stored in a namespace named ADOX.

The Catalog Class

To create and manage various objects of a database, the ADOX namespace provides an interface named Catalog and its derived class named CatalogClass. To use this class, you can first declare a handle to it. Here is an example:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	 ADOX::Catalog ^ catADOX;
}

After declaring the class, you can initialize it using the New operator:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	ADOX::Catalog ^ catADOX;

	catADOX = gcnew ADOX::Catalog;
}

 

Database Creation

 

The Connection String of the Catalog

To support database creation, the Catalog interface (or the CatalogClass class is equipped with the Create() method. Its syntax is:

System::Object ^ Create(System::String ^ ConnectionString)

The Create() method takes one argument referred to as the connection string. This string is made of sections separated by semi-colons. The formula used by these sections is:

Key1=Value1;Key2=Value2;Key_n=Value_n;

The first part of the connection string is called the provider. It is software that handles the database. To specify it, assign the desired name to the provider key. Here is an example:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	 ADOX::Catalog ^ catADOX = gcnew ADOX::Catalog;

	 catADOX->Create(L"Provider=");
}

There are various providers in the database industry. One of them is Microsoft SQL Server and it is represented by SQLOLEDB. If you want to create a Microsoft SQL Server database, specify this provider. Here is an example:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	 ADOX::Catalog ^ catADOX = gcnew ADOX::Catalog;

	 catADOX->Create(L"Provider=Microsoft.JET.OLEDB.4.0");
}

When creating this type of database, there are some other pieces of information you must provide in the connection string. Another provider is the Microsoft JET database engine represented as Microsoft.JET.OLEDB.4.0. To create a database for it,  specify its provider accordingly. Here is an example:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	 ADOX::Catalog ^ catADOX = gcnew ADOX::Catalog;

	 catADOX->Create(L"Provider=Microsoft.JET.OLEDB.4.0");
}

You can also include the name of the provider as its own string. To do that, you can include it in single-quotes:

Private Sub btnCreateDatabase_Click(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles btnCreateDatabase.Click
	' Using the Catalog class of the ADOX namespace
        Dim catADOX As ADOX.Catalog = New ADOX.Catalog

        catADOX.Create("Provider='Microsoft.Jet.OLEDB.4.0'"
End Sub

If you are creating a database, the second part of the connection string can be used to specify the path and the name of the database. This section must start with the Data Source key and assigned the path that consists of the drive and the folder(s). After the last folder, the name of the database must have the .mdb extension. For example, to create a database called Exercise that would reside in a folder called Exercises of the C: drive, you can specify the connection string as follows:

System::Void btnCreateDatabase_Click(System::Object^ sender, System::EventArgs^ e)
{
	 ADOX::Catalog ^ catADOX = gcnew ADOX::Catalog;

	 catADOX->Create(L"Provider='Microsoft.JET.OLEDB.4.0';" +
			  "Data Source=C:\\Programs\\Exercise1.mdb");
}

You can also include the value of the Data Source key in single-quotes.

Instead of directly passing a string to the Create() method, you can first declare a String variable, initialize it with the necessary provider/data source, and then pass that string variable to the Create() method.

 
 

Previous Copyright © 2005-2016, FunctionX, Inc. Next