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 ();
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);
}
}
}
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/
-->
XmlDocumentmyDoc
=
new
XmlDocument();
XmlElementmyXmlElement;
myDoc.Load(Application.ExecutablePath
+
"
.config
"
);
XmlNodemyNode
=
myDoc.SelectSingleNode(
"
//connectionStrings
"
);
myXmlElement
=
(XmlElement)myNode.SelectSingleNode(
"
//add[@name='NXY.Properties.Settings.nxyInfoConnectionString']
"
);
myXmlElement.SetAttribute(
"
connectionString
"
,myConnect);
myDoc.Save(Application.ExecutablePath
+
"
.config
"
);
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->







相對應的XML文件
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <? xmlversion="1.0"encoding="utf-8" ?>
< configuration >
< configSections >
</ configSections >
< connectionStrings >
< add name ="NXY.Properties.Settings.nxyInfoConnectionString" connectionString ="DataSource=SC440;InitialCatalog=nxyInfo;PersistSecurityInfo=True;UserID=sa;Password=sa"
providerName ="System.Data.SqlClient" />
</ connectionStrings >
</ configuration >
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <? xmlversion="1.0"encoding="utf-8" ?>
< configuration >
< configSections >
</ configSections >
< connectionStrings >
< add name ="NXY.Properties.Settings.nxyInfoConnectionString" connectionString ="DataSource=SC440;InitialCatalog=nxyInfo;PersistSecurityInfo=True;UserID=sa;Password=sa"
providerName ="System.Data.SqlClient" />
</ connectionStrings >
</ configuration >
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
