程序修改数据库连接字符串 用户第一次发布、或数据库信息改了后能可进入配置页面设置连接数据库的用户、密码、连接串名,同时对其加密 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public bool IsConnecd { get { return isConnecd; } set { isConnecd = value; } } private bool isConnecd = false; private void btn_Config_Click(object sender, EventArgs e) { DataConnectionDialog dlg = new DataConnectionDialog(); dlg.DataSources.Add(DataSource.SqlDataSource); dlg.SelectedDataSource = DataSource.SqlDataSource; dlg.SelectedDataProvider = DataProvider.SqlDataProvider; //dlg.ConnectionString = ZooSystemUpdate.Properties.Settings.Default.ZooDataConnectString; dlg.ConnectionString = ConfigurationManager.AppSettings["connectstring"].ToString().Trim(); if (DataConnectionDialog.Show(dlg, this) == DialogResult.OK) { string abc = ConfigurationManager.AppSettings["connectstring"].ToString().Trim(); //判断是否能连接上数据库 ConfigurationManager.AppSettings["connectstring"] = dlg.ConnectionString; Manage.DataConnect da = new Manage.DataConnect(); if (da.IsConnect()) { string miwen = DESEncrypt.Encrypt(dlg.ConnectionString); SetKeyValue("connectstring",miwen); IsConnecd = true; this.Close(); } else { ConfigurationManager.AppSettings["connectstring"] =abc; } } } //// <summary> /// 设置连接字符串 /// </summary> /// <param name="AppKey"></param> /// <param name="AppValue"></param> private void SetKeyValue(string AppKey, string AppValue) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config"); XmlNode xNode; XmlElement xElem1; XmlElement xElem2; xNode = xDoc.SelectSingleNode("//appSettings"); xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']"); if (xElem1 != null) xElem1.SetAttribute("value", AppValue); else { xElem2 = xDoc.CreateElement("add"); xElem2.SetAttribute("key", AppKey); xElem2.SetAttribute("value", AppValue); xNode.AppendChild(xElem2); } xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config"); } private void btn_Exit_Click(object sender, EventArgs e) { this.Close(); } }上面是把数据库配置修改到config文件的方法,DESEncrypt是DES加密解密类,网上很多源码的 字符串就放在web.config文件中<connectionStrings> <add name="test" connectionString="test" /> </connectionStrings> 关于转换 如何获得combox一个有多少个值 串行化是什么意思啊 一个关于向DataSet中添加Relation的问题。 用SQL语句怎么获取当前日期的前一天??? 谁能具体解释一下e到底是指什么? c#中如何使用GetLogicalDriveStrings() 【在线等】引用类型在多线程下的问题 C# ListView Details模式鼠标事件 总是被问道架构问题,不知道怎么回答 出 未将对象引用设置到对象的实例错误 做一个ASP网站,需要什么??
{
get { return isConnecd; }
set { isConnecd = value; }
}
private bool isConnecd = false;
private void btn_Config_Click(object sender, EventArgs e)
{
DataConnectionDialog dlg = new DataConnectionDialog();
dlg.DataSources.Add(DataSource.SqlDataSource);
dlg.SelectedDataSource = DataSource.SqlDataSource;
dlg.SelectedDataProvider = DataProvider.SqlDataProvider;
//dlg.ConnectionString = ZooSystemUpdate.Properties.Settings.Default.ZooDataConnectString;
dlg.ConnectionString = ConfigurationManager.AppSettings["connectstring"].ToString().Trim();
if (DataConnectionDialog.Show(dlg, this) == DialogResult.OK)
{
string abc = ConfigurationManager.AppSettings["connectstring"].ToString().Trim();
//判断是否能连接上数据库
ConfigurationManager.AppSettings["connectstring"] = dlg.ConnectionString;
Manage.DataConnect da = new Manage.DataConnect();
if (da.IsConnect())
{ string miwen = DESEncrypt.Encrypt(dlg.ConnectionString);
SetKeyValue("connectstring",miwen);
IsConnecd = true;
this.Close();
}
else
{
ConfigurationManager.AppSettings["connectstring"] =abc;
}
}
}
//// <summary>
/// 设置连接字符串
/// </summary>
/// <param name="AppKey"></param>
/// <param name="AppValue"></param>
private void SetKeyValue(string AppKey, string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config"); XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2; xNode = xDoc.SelectSingleNode("//appSettings"); xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null) xElem1.SetAttribute("value", AppValue);
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
}
private void btn_Exit_Click(object sender, EventArgs e)
{
this.Close();
}
}
上面是把数据库配置修改到config文件的方法,DESEncrypt是DES加密解密类,网上很多源码的
字符串就放在web.config文件中<connectionStrings>
<add name="test" connectionString="test" />
</connectionStrings>