有方法直接读取config文件里的字符串来获得连接数据库参数,但是这对于用户来说要自己亲自打开config文件修改参数不太现实,因此本文提供一种利用存储方法,方便用户修改config文件里的参数。
1 .修改Config文件值
public void WritetoConfig(Dictionary<string, string> Dic)
{
XmlDocument xdoc = new XmlDocument();
//获得配置文件的全路径
string strFileName = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
xdoc.Load(strFileName);
XmlNodeList nodes = xdoc.GetElementsByTagName("add");
for (int i = 0; i < nodes.Count; i++)
{
XmlAttribute xattr = nodes[i].Attributes["key"];
//对目标元素中的第二个属性赋值
nodes[i].Attributes["value"].Value = Dic[xattr.Value];
break;
}
xdoc.Save(strFileName);
}
2.读取Config参数值
记住添加System.Configuration.dll。
public string[] ReadConfig()
{
string[] str = new string[]
{
ConfigurationManager.AppSettings["Server"], ConfigurationManager.AppSettings["Port"],
ConfigurationManager.AppSettings["UserID"],
ConfigurationManager.AppSettings["Password"], ConfigurationManager.AppSettings["Database"]
};
return str;
}
app.config文件如下:
?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<appSettings>
<add key="Server" value="localhost">
</add>
<add key="Port" value="5432">
</add>
<add key="UserID" value="postgres">
</add>
<add key="Password" value="*">
</add>
<add key="Database" value="*">
</add>
</appSettings>
</configuration>