使用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;
}

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

效果如下图:在运行时打开选择数据源窗体:

DataConnectionDialog_02

  注意:

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

DataConnectionDialog_01

  总结:

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

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

  参考:

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

 

附件:ConnectionPromptDialog.zip

posted on 2014-11-14 00:30  Cosmic_Spy  阅读(2172)  评论(2编辑  收藏  举报

导航

Your IP: