介绍:

  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的。如下图:

  操作:

首先需要引用 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对应的控件有个大概的了解,方便以后在开发中遇到此类需求可以快速解决分享。

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

  参考:

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

附件:ConnectionPromptDialog.zip

使用DataConnectionDialog在运行时设置数据源连接字符串的更多相关文章

  1. 【转】使用DataConnectionDialog在运行时设置数据源连接字符串

    介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Micro ...

  2. ActiveReports中如何在后台导出运行时绑定数据源报表

    ActiveReports支持运行时绑定数据源功能,这种绑定数据源方法使用较为普及,然而很多系统中都需要在后台导出报表文件,所以用户就很困惑,ActiveReports中如何在后台导出运行时绑定数据源 ...

  3. loadrunner 运行场景-运行时设置

    运行场景-运行时设置 by:授客 QQ:1033553122 A.   查看.修改单个脚本的运行时设置 a)   途径1: Scenario Groups.Scenario Groups Script ...

  4. 彻底搞清楚class常量池、运行时常量池、字符串常量池

    彻底搞清楚class常量池.运行时常量池.字符串常量池 常量池-静态常量池 也叫 class文件常量池,主要存放编译期生成的各种字面量(Literal)和符号引用(Symbolic Reference ...

  5. JVM 常量池、运行时常量池、字符串常量池

    常量池: 即class文件常量池,是class文件的一部分,用于保存编译时确定的数据. 保存的内容如下图: D:\java\test\out\production\test>javap -ver ...

  6. Class常量池、运行时常量池、字符串常量池的一些思考

    Class常量池.运行时常量池.字符串常量池 class常量池 java代码经过编译之后都成了xxx.class文件,这是java引以为傲的可移植性的基石.class文件中,在CAFEBABE.主次版 ...

  7. [转]Loadrunner11之VuGen运行时设置Run-Time Setting

    转自:http://www.51testing.com/html/92/450992-248065.html General 1.Run Logic运行逻辑 脚本如何运行的,每个action和acti ...

  8. LoadRunner 学习笔记(2)VuGen运行时设置Run-Time Setting

    定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项

  9. 【转载】lr运行时设置,每个action 比例

    提供了再脚本运行时所需要的相关选项. 性能测试的关键之一:能否通过脚本来完全模拟用户的行为,可以通过运行设置让脚本运行的更人性化. 1. Run Logic 脚本如何运行,每个action与actio ...

随机推荐

  1. 常见标签的默认属性值及相互作用——关于CSS reset的思考

    在现在的网站设计中使用reset.css用重置整个站点的标签的CSS属性的做法很常见,但有时候我们已经为了reset而reset,我们经常看到这样的reset代码 div{ padding:0px; ...

  2. NanoProfiler - 适合生产环境的性能监控类库 之 大数据篇

    上期回顾 上一期:NanoProfiler - 适合生产环境的性能监控类库 之 基本功能篇 上次介绍了NanoProfiler的基本功能,提到,NanoProfiler实现了MiniProfiler欠 ...

  3. Linux多线程系列-2-条件变量的使用(线程安全队列的实现)

    多线程情况下,往往需要使用互斥变量来实现线程间的同步,实现资源正确共享. linux下使用如下变量和函数 //条件变量 pthread_cond_t int pthread_cond_init (pt ...

  4. 用css3实现各种图标效果(2)

    写在前面 写的一模一样的css样式,结果却导致原来出来不一样的效果图. 用chrome的开发者工具查看,比较起来还是一模一样的css样式,可为什么会出现不一样的placeholder效果呢?一个白色粗 ...

  5. 让DB2跑得更快——DB2内部解析与性能优化

    让DB2跑得更快——DB2内部解析与性能优化 (DB2数据库领域的精彩强音,DB2技巧精髓的热心分享,资深数据库专家牛新庄.干毅民.成孜论.唐志刚联袂推荐!)  洪烨著 2013年10月出版 定价:7 ...

  6. react4 props 解析

    <body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...

  7. chrome远程调试真机上的app

    chrome远程调试真机上的app 看来要上真机了...

  8. PCurve - Curve on Surface

    PCurve - Curve on Surface eryar@163.com Abstract. 本文通过给出曲面上曲线PCurve的定义来对OpenCascade中的Curve On Surfac ...

  9. 如何下载android官网Lib包

    例如:https://dl-ssl.google.com/android/repository/sources-23_r01.zip

  10. CSS3的学习--实现瀑布流

    基于CSS3实现瀑布流,使用CSS3的CSS 多栏(Multi-column). 可以到github上下载源码 : https://github.com/CraryPrimitiveMan/water ...