【转】使用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的。如下图:

  操作:

首先需要引用 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

时间: 2024-08-02 10:55:42

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

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

介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Microsoft.Data.ConnectionUI.Dialog(在“%Visual Studio安装目录%/Common7/IDE/Microsoft.Data.ConnectionUI.Dialog.dll”) 注意: 在程序集:Microsoft.VisualStudio.Data (in Micr

VC项目程序运行时设置指定目录读取Dll

方法一: 选择当前工程,右击"Properties" -> "Configuration Properties" -> "Debugging",在"Working Directory"设置dll的路径就可以了 方法二:设置项目的环境变量 方法三: CString strDllPath = GetExePath() + _T("System"); SetDllDirectory(strDllPat

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

常量池: 即class文件常量池,是class文件的一部分,用于保存编译时确定的数据. 保存的内容如下图: 1 D:\java\test\out\production\test>javap -verbose mainTest 2 Classfile /D:/java/test/out/production/test/mainTest.class 3 Last modified 2019年4月22日; size 507 bytes 4 MD5 checksum 08699c6d713bc8967a

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

定义:在Vugen中Run-Time Setting是用来设置脚本运行时所需要的相关选项 注:一般情况下,我们会接触到 Run Logic.Log.Think Time,其他的设置项基本上保持默认设置,特殊项目特殊对待. General  1.Run Logic 运行逻辑,用来设置Action部分重复运行几次 脚本如何运行的,每个action和action之间运行的先后顺序就是在这里设置的 Number of Iterations   只为Run上设置迭代次数(运行的次数),不为Init,End

loadrunner运行时设置中清空缓存方法

用函数web_cache_clearup()或run-time settings---browser emulation 把clear  cache on each iteration打勾 W v\]D[o0 _tn9C?;{0 在run-time   setting  中设置simulate  browser  cache  选项BrowserBrowser   Emulation:Simulate   browser  cache:配置Vuser模拟带缓存的浏览器.缺省缓存是被允许的,可以通

loadrunner汉化【运行时设置】菜单选项截图

来自为知笔记(Wiz)

JVM系列之四:运行时数据区

1. JVM架构图 Java虚拟机主要分为五大模块:类装载器子系统.运行时数据区.执行引擎.本地方法接口和垃圾收集模块. 2. JDK1.7内存模型-运行时数据区域 根据<Java 虚拟机规范(Java SE 7 版)>规定,Java 虚拟机所管理的内存如下图所示. 1-3为线程私有,4-5为线程共享 1.程序计数器:为了线程切换后能恢复到正确的执行位置.线程私有2.Java虚拟机栈:虚拟机栈描述的是Java方法执行的内存模型:方法被调用时创建栈帧-->局部变量表->局部变量.对象

JMeter非GUI方式运行时动态设置线程组及传参

在使用JMeter进行性能测试自动化时,可能会有如下需求: 1.指定运行多少线程,指定运行多少次: 2.访问的目标地址变化了,端口也变化了,需要重新指定. 上面的需求如果有GUI方式运行,这都不是问题,直接在脚本上进行修改即可以了. 但是性能测试自动化是以非GUI方式运行的,如果要修改测试计划就比较麻烦了. 下面来说说如何简单的搞定这些问题: 1.指定运行多少线程   我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.prope

cefSharp 设置运行时系统语言

在使用用CefSharp使用过程中,系统用了很多第三方控件.这些控件很多能够根据浏览器设置的语言来进行控件展示对应语言. 在cefSharp可以设置系统语言,代码如下: CefSharp.Settings setting = new CefSharp.Settings(); string flashPath = Application.StartupPath+ @"\Plug\gcswf32.dll"; setting.AddPluginPath(flashPath); //设置语言