Data Connection Dialog (直接调用内置数据源连接对话框)

简介:

winform程序,在发布时往往需要更改数据库连接字符串,而数据库采用附加的方式配置数据库连接字符串,可以使用VS2005的配置界面来处理 

引用C:/Program Files/Microsoft Visual Studio 8/Common7/IDE 里面的Microsoft.Data.ConnectionUI.Dialog.dll。

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> using Microsoft.Data.ConnectionUI;
private void button1_Click(object sender, EventArgs e)
        {
            DataConnectionDialog dia=new DataConnectionDialog ();
            dia.DataSources.Add(DataSource.SqlDataSource);
            dia.SelectedDataProvider = DataProvider.SqlDataProvider;
            if (DataConnectionDialog.Show(dia, this) == DialogResult.OK )
            {
                string myConnect = dia.ConnectionString;
                MessageBox.Show(myConnect);
             }
           
        }

        }


为了保存数据库字符串,我们需要更改VS的配置文档(程序的connectString在配置文件内)。.exe文件的配置文件为.exe.config;在同一目录下

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> XmlDocument myDoc  =   new  XmlDocument();
                XmlElement myXmlElement;
                myDoc.Load(Application.ExecutablePath 
+   " .config " );
                XmlNode myNode 
=  myDoc.SelectSingleNode( " //connectionStrings " );
                myXmlElement 
=  (XmlElement)myNode.SelectSingleNode( " //add [@name='NXY.Properties.Settings.nxyInfoConnectionString'] " );
                myXmlElement.SetAttribute(
" connectionString " , myConnect);
                myDoc.Save(Application.ExecutablePath 
+   " .config " );


相对应的XML文件

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> <? xml version="1.0" encoding="utf-8"  ?>
< configuration >
    
< configSections >
    
</ configSections >
    
< connectionStrings >
        
< add  name ="NXY.Properties.Settings.nxyInfoConnectionString"  connectionString ="Data Source=SC440;Initial Catalog=nxyInfo;Persist Security Info=True;User ID=sa;Password=sa"
            providerName
="System.Data.SqlClient"   />
    
</ connectionStrings >
</ configuration >

本文转自yonghu86 51CTO博客,原文链接:http://blog.51cto.com/yonghu/1321398,如需转载请自行联系原作者
相关文章
|
存储 前端开发 数据库
electron项目中使用本地数据库sqlite3和sequelize框架
electron项目中使用本地数据库sqlite3和sequelize框架
|
分布式计算 资源调度 大数据
黑马程序员-大数据入门到实战-MapReduce & YARN入门
黑马程序员-大数据入门到实战-MapReduce & YARN入门
330 0
|
存储 监控 安全
Zabbix登录绕过漏洞复现(CVE-2022-23131)
最近在复现zabbix的漏洞(CVE-2022-23131),偶然间拿到了国外某公司zabbix服务器。Zabbix Sia Zabbix是拉脱维亚Zabbix SIA(Zabbix Sia)公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和应用监控等。Zabbix Frontend 存在安全漏洞,该漏洞源于在启用 SAML SSO 身份验证(非默认)的情况下,恶意行为者可以修改会话数据,因为存储在会话中的用户登录未经过验证。 未经身份验证的恶意攻击者可能会利用此问题来提升权限并获得对 Zabbix 前端的管理员访问权限。
2063 0
Zabbix登录绕过漏洞复现(CVE-2022-23131)
|
5月前
|
设计模式 人工智能
单例模式中的隐藏陷阱:你真的了解单例吗?
本文通过一个实际案例揭示了单例模式中常见的隐藏陷阱——在析构函数中调用其他单例对象导致程序崩溃的问题。代码示例展示了因单例析构顺序不确定而引发的 `crash`,并结合 AI 的分析提出两种规避策略:一是避免析构、二是通过全局状态检测对象存活。文章指出,依赖不确定的语言特性并非良策,真正的解决之道在于合理设计,确保程序行为可预期、可控制。
226 54
|
12月前
|
机器学习/深度学习 人工智能 算法
【AI系统】计算图挑战与未来
当前主流AI框架采用计算图抽象神经网络计算,以张量和算子为核心元素,有效表达模型计算逻辑。计算图不仅简化数据流动,支持内存优化和算子调度,还促进了自动微分功能的实现,区分静态图和动态图两种形式。未来,计算图将在图神经网络、大数据融合、推理部署及科学计算等领域持续演进,适应更复杂的计算需求。
313 5
【AI系统】计算图挑战与未来
|
机器学习/深度学习 人工智能 监控
利用人工智能审查代码:提升代码质量和安全性
【10月更文挑战第15天】本文探讨了AI在代码审查中的应用,介绍了AI辅助代码审查工具如何通过机器学习算法提升代码质量、检测潜在错误,并促进团队知识共享。文中还详细说明了实施AI辅助代码审查的步骤及其实战技巧,强调了结合人工审查、定制化模型和持续监控的重要性。
|
Java 数据库连接 测试技术
在Spring Boot中实现数据校验与验证
在Spring Boot中实现数据校验与验证
|
缓存 Linux C++
map异常崩溃分析汇总
文章讨论了std::map和std::set在某些情况下崩溃的原因,包括结构体字节对齐问题、多线程资源同步问题、以及比较器的实现问题,并提供了相应的解决方案。
431 0
|
C++
Visual Studio(clang)代码格式化
Visual Studio(clang)代码格式化
203 0
|
机器学习/深度学习 人工智能 数据可视化
使用Python实现深度学习模型:模型解释与可解释人工智能
【7月更文挑战第6天】 使用Python实现深度学习模型:模型解释与可解释人工智能
293 0