O'Reilly logo

ADO.NET Cookbook by Bill Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

10.6. Creating a New Access Database

Problem

You need to create a new Microsoft Access database.

Solution

Use ActiveX Database Objects Extensions (ADOX) from .NET through COM interop.

You’ll need a reference to Microsoft ADO Ext. 2.7 for DDL and Security from the COM tab in Visual Studio .NET’s Add Reference Dialog.

The sample code contains an event handler and a single method:

Button.Click

Allows the user to specify the filename for the new Access database and then calls the CreateAccessDatabase( ) method in the sample to create the database.

CreateAccessDatabase( )

This method uses ADOX through COM interop to create the new Access database having the specified filename.

The C# code is shown in Example 10-6.

Example 10-6. File: CreateAccessDatabaseForm.cs

// Namespaces, variables, and constants using System; using System.Windows.Forms; // . . . private void createButton_Click(object sender, System.EventArgs e) { // Create the save file dialog object. SaveFileDialog sfd = new SaveFileDialog( ); sfd.InitialDirectory = System.IO.Path.GetTempPath( ); // Set the filter for Access databases. sfd.Filter = "Microsoft Access (*.mdb)|*.mdb"; // Open the dialog. if (sfd.ShowDialog( ) == DialogResult.OK) { // Of OK selected, create the Access database. String fileName = sfd.FileName; try { CreateAccessDatabase(fileName); MessageBox.Show("Microsoft Access database " + fileName + " created.", "Create Access Database", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (System.Exception ex) { MessageBox.Show("Could ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required