首页 > 代码库 > 使用DataConnectionDialog在运行时设置数据源连接字符串

使用DataConnectionDialog在运行时设置数据源连接字符串

  介绍:

  DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息。

  命名空间为:Microsoft.Data.ConnectionUI

  所在程序集:Microsoft.Data.ConnectionUI.Dialog(在“%Visual Studio安装目录%/Common7/IDE/Microsoft.Data.ConnectionUI.Dialog.dll”)

  注意:

在程序集:Microsoft.VisualStudio.Data (in Microsoft.VisualStudio.Data.dll)的Microsoft.VisualStudio.Data命名空间中也有一个DataConnectionDialog类,但此类是abstract的。如下图:

DataConnectionDialog

  操作:

 首先需要引用 Microsoft.Data.ConnectionUI.Dialog.dll(在“%Visual Studio安装目录%/Common7/IDE/”目录中)。

 然后添加命名空间:

using DataConnectionDialog = Microsoft.Data.ConnectionUI.DataConnectionDialog;using DataProvider = Microsoft.Data.ConnectionUI.DataProvider;using DataSource = Microsoft.Data.ConnectionUI.DataSource;

 关键代码如下:

private string GetDatabaseConnectionString(){    string result = string.Empty;    DataConnectionDialog dialog = new DataConnectionDialog();    dialog.DataSources.Clear();    //添加数据源列表,可以向窗口中添加所需要的数据源类型 必须至少有一项    dialog.DataSources.Add(DataSource.AccessDataSource);    //Access    dialog.DataSources.Add(DataSource.SqlDataSource);       //Sql Server    dialog.DataSources.Add(DataSource.OracleDataSource);    //Oracle    dialog.DataSources.Add(DataSource.OdbcDataSource);      //Odbc    dialog.DataSources.Add(DataSource.SqlFileDataSource);   //Sql Server File    //设置默认数据提供程序    dialog.SelectedDataSource = DataSource.SqlDataSource;    dialog.SelectedDataProvider = DataProvider.SqlDataProvider;    //本文地址:http://www.cnblogs.com/Interkey/p/DataConnectionDialog.html    //dialog.Title = "Cosmic_Spy";    //dialog.ConnectionString = "Data Source=****;Initial Catalog=****;Integrated Security=True"; //也可以设置默认连接字符串    //只能够通过DataConnectionDialog类的静态方法Show出对话框,不能使用dialog.Show()或dialog.ShowDialog()来呈现对话框    if (DataConnectionDialog.Show(dialog) == DialogResult.OK)    {        result = dialog.ConnectionString;    }    return result;}

在需要的位置引用上述代码即可实现在运行时打开设置数据源窗体,选择数据库(可以直接测试是否能连接),返回连接字符串!

  注意:

为与在Microsoft.VisualStudio.Data中的DataConnectionDialog 类作对比,贴出此程序集部分代码,如下图:

DataConnectionDialog_01

  总结:

  本文仅是对DataConnectionDialog对应的控件有个大概的了解,方便以后在开发中遇到此类需求可以快速解决分享。

  此文的另一重点是:注意在不同的程序集中的不同类(类名可一致),同时也对程序集、模块与文件的区别有所了解。

  参考:

  1. 挖掘Microsoft Visual Studio 里面的资源之数据库连接配置
  2. C#:使用VS内置DataConnectionDialog连接数据库
  3. 分享一些WinForm数据库连接界面UI
  4. Data Connection Dialog (直接调用内置数据源连接对话框)

 

附件:ConnectionPromptDialog.zip

使用DataConnectionDialog在运行时设置数据源连接字符串