• WinForm下App.config配置文件的读与写




          先来看下我操作的App.config文件的内容:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <add name="DbHelper"   connectionString="Server=192.168.0.57;Database=linan98;User ID=sa;Password=sa" providerName="System.Data.SqlClient"/>
      </connectionStrings>
    </configuration>
           这个我介绍的方法也是参考了以前写过的操作XML文件的方法.
           原理就是:把XML读入dataset,通过dataset的自带的操作XML的方法来实现。
            private void SetValue() //写配置文件
            {
                string xmlfile = System.Windows.Forms.Application.ExecutablePath + ".config";
                DataSet ds = new DataSet();//创建一个DataSet并建一个表
                ds.ReadXml(xmlfile);//读取XML文件  
                ds.Tables["add"].PrimaryKey = new DataColumn[] { ds.Tables["add"].Columns["name"] };  //设置主键
                string Server = tb_server.Text.ToString();
                string Database = tb_database.Text.ToString();
                string usr = tb_user.Text.ToString();
                string psw = tb_psw.Text.ToString();
                ds.Tables["add"].Rows.Find("DbHelper")["connectionString"] = "Server="+Server+";Database="+Database+";User ID="+usr+";Password="+psw;
                ds.WriteXml(xmlfile);//将ds的更改写进xml中
                MessageBox.Show("配置保存成功!","提示");
            }
           读配置文件可以调用自带(红色标住代码)的方法。
           特别注意:要通过添加引用来加System.configration程序集,不要使用using System.configration.
             
            private void GetValue()
            {
                string conn = null;
                conn = System.Configuration.ConfigurationManager.ConnectionStrings["DbHelper"].ConnectionString;
                string[] abc = conn.Split(';');
                tb_server.Text = (abc[0].Split('='))[1].ToString();
                tb_database.Text = (abc[1].Split('='))[1].ToString();
                tb_user.Text = (abc[2].Split('='))[1].ToString();
                tb_psw.Text = (abc[3].Split('='))[1].ToString();
            }
           需要添加的引用如下:
    using System.Xml;
    using System.Data.SqlClient;

  • 相关阅读:
    JS中所有数组的方法和所有的对象方法,包含ES5和ES6
    (原创!)彻底理解JS中的事件,事件处理函数,钩子函数,回调函数。
    深拷贝和浅拷贝的区别,object.assgin方法是深拷贝还是浅拷贝
    axios,Ajax,jQuery ajax,axios和fetch的区别
    python : 文档比较
    leetcode——989.数组形式的整数加法
    leetcode——66.加一
    leetcode——283.移动0
    leetcode——27.移除元素
    leetcode刷题第一天——两数之和
  • 原文地址:https://www.cnblogs.com/zpq521/p/1607882.html
Copyright © 2020-2023  润新知