使用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-12-29 16:36:24

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

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

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

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方法执行的内存模型:方法被调用时创建栈帧-->局部变量表->局部变量.对象

NServiceBus-NServiceBus连接字符串示例

NServiceBus开箱即用的支持以下传输: MSMQ SQL Server rabbitmq 微软Azure服务总线 微软Azure存储队列 NServiceBus端点配置为使用一个特定的运输: 设置一个连接字符串,命名 NServiceBus/Transport在端点的配置文件. 安装相关的运输NuGet包. MSMQ NuGet运输包装:不需要,MSMQ开箱即用的支持 连接字符串示例: <connectionStrings> <!-- MSMQ --> <add na

RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化或者需要变动时设置运行时内核参数以改变运行时内核行为. RHEL 7 中的网络包过滤 当我们讨论数据包过滤的时候,我们指防火墙读取每个试图通过它的数据包的包头所进行的处理.然后,根据系统管理员之前定义的规则,通过采取所要求的动作过滤数据包. 正如你可能知道的,从 RHEL 7 开始,管理防火墙的默认