介绍:

  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

作者:Cosmic_Spy

出处:http://www.cnblogs.com/Interkey/

有兴趣可以加群【.NET破解|反编译】请注明:博客园,谢谢~

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则肯定是你抄我的。

【转】使用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. JVM 常量池、运行时常量池、字符串常量池

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

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

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

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

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

  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. 【转】Native Thread for Win32 C- Creating Processes(通俗易懂,非常好)

    http://www.bogotobogo.com/cplusplus/multithreading_win32C.php To create a new process, we need to ca ...

  2. Maven的Settings.xml配置文件解释

    该配置用于单用户配置和全局配置, 单用户配置默认存放于 ${user.home}/.m2/目录中. 全局配置默认存放于Maven安装目录下面的conf目录中. 这两个默认的位置都可以修改. <? ...

  3. pythonanywhere笔记

    https://www.pythonanywhere.com Deploying an existing Django project on PythonAnywhere Deploying a Dj ...

  4. Makefile foreach(转)

    原文出处:http://blog.csdn.net/cjsycyl/article/details/8064871 foreach 函数和别的函数非常的不一样.因为这个函数是用来做循环用的,Makef ...

  5. GSAP 官方文档(结贴)

    好久没写GSAP的教程的(其实我也不懂哈哈),国内也没什么人用,不对动画要求特别高的话,其实也没必要用GSAP,现在工作上没用到这个东西,也懒得写了,所以有问题的话去找一下greensock的官方文档 ...

  6. URL地址传值型多条件搜索JS

    function ResetSearchVal(objArray) { var strUrl = location.href; ; i < objArray.length; i++) { var ...

  7. 探讨Java I/O类和接口

    (输出)Output:程序---->数据源(如某个文件) (输入)Input:数据源---->程序 Java.io定义的I/O类如下表所示: BufferedInputStream Buf ...

  8. poj3735—Training little cats(特殊操作转化为矩阵操作)

    题目链接:http://poj.org/problem?id=3735 题目意思: 调教猫咪:有n只饥渴的猫咪,现有一组羞耻连续操作,由k个操作组成,全部选自: 1. g i 给第i只猫咪一颗花生 2 ...

  9. [已解决]centos6.4 php连接mysql和memcache提示权限不允许

    昨天新安装了64位系统,所以就重新安装了一个centos的虚拟机,配置了一个测试环境,刚开始是页面打不开,这个确定是selinux规则没有设置好使用如下命令解决: chcon -R -h -t htt ...

  10. disable的错误使用

    表单中的input设为disable后数据无法提交. 如果需要设置无法修改效果,但又想表单提交数据,可以设置readonly.