Winform 动态读写xml config文件,连接数据库(postgresql)

有方法直接读取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>


C# 取保存App.config配置文件的完整源码参考(转) http://smartsoft.5d6d.com/thread-6550-1-1.html C# 取保存App.config配置文件的完整源码参考 最近出差在北京做一个小项目,项目里需要取配置文件的小功能,觉得挺有参考意义的就把代码发上来给大家参考一下。我们选择了直接用微软的取配置文件的方法。 这个是程序的运行设计效果,就是把这些参数可以进行灵活设置,灵活保存设置状态。 程序编译后自动会产生相应的配置文件,是跟项目的名称一样的配置文件取配置文件及保存配置的具体代码参考如下,希望能给你节省一些时间,直接复制粘贴这个代码就可以用了: //------------------------------------------------------------ // All Rights Reserved , Copyright (C) 2010 , CDPF , Ltd. //------------------------------------------------------------ using System; using System.Configuration; using System.Windows.Forms; using Utilities; namespace DirectSeeding { /// /// FrmConfig /// 取配置文件 /// /// 修改纪录 /// /// 2011.01.14 版本: 1.0 JiRiGaLa 完善程序的注释等、从新整理代码。 /// /// 版本:1.0 /// /// /// JiRiGaLa /// 2011.01.14 /// /// public partial class FrmConfig : Form { public FrmConfig() { InitializeComponent(); } /// /// 取配置文件 /// private void GetConfig() { this.txtWriteFileName.Text = ConfigurationManager.AppSettings["WriteFileName"]; this.txtWritePath.Text = ConfigurationManager.AppSettings["WritePath"].Replace("|", Environment.NewLine); this.txtPostMessageURL.Text = ConfigurationManager.AppSettings["PostMessageURL"]; this.txtLeasedLineURL.Text = ConfigurationManager.AppSettings["LeasedLineURL"]; } private void FrmDirectSeeding_Load(object sender, EventArgs e) { this.GetConfig(); } /// /// 保存配置文件 /// private void SaveConfig() { // 写入参数设置 Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); configuration.AppSettings.Settings["WriteFileName"].Value = this.txtWriteFileName.Text; configuration.AppSettings.Settings["Wri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值