Problem
You want to display the Data Link Properties dialog box from an application so that users can create their own database connections just as they can from the Server Explorer window in the Visual Studio .NET IDE.
Solution
Use COM interop with the OLE DB Service Component to display the Data Link Properties dialog box.
You'll need a reference to the Primary Interop Assembly (PIA) for ADO provided in the file ADODB.DLL ; select adodb from the .NET tab in Visual Studio .NET's Add Reference Dialog. You'll also need a reference to the Microsoft OLE DB Service Component 1.0 Type Library from the COM tab in Visual Studio .NET's Add Reference Dialog.
The sample code contains a single event handler:
Data Link Dialog Button.Click
Creates and displays a Data Link Properties dialog box using the Microsoft OLE DB Service Component through COM interop.
The C# code is shown in Example 1-10.
Example 1-10. File: DataLinkDialogForm.cs
// Namespaces, variables, and constants using System; // . . . private void dataLinkDialogButton_Click(object sender, System.EventArgs e) { ADODB.Connection conn = new ADODB.Connection( ); object oConn = (object) conn; MSDASC.DataLinks dlg = new MSDASC.DataLinks( ); dlg.PromptEdit(ref oConn); connectionStringTextBox.Text = conn.ConnectionString; }
Discussion
COM interop can open a Data Link Properties dialog box allowing a user to select an OLE DB provider and set its properties. You can use the results programmatically to construct the connection string for an ADO.NET connection object at runtime with a GUI (graphical user interface).
Connecting to Data
Retrieving and Managing Data
Searching and Analyzing Data
Adding and Modifying Data
Copying and Transferring Data
Maintaining Database Integrity
Binding Data to .NET User Interfaces
Working with XML
Optimizing .NET Data Access
Enumerating and Maintaining Database Objects
Appendix A. Converting from C# to VB Syntax