• 一个C#的XML数据库访问类


    原文地址:http://hankjin.blog.163.com/blog/static/33731937200942915452244/

    程序中不可避免的要用到配置文件或数据,对于数据量比较小的程序,部署数据库花费的时间就显得浪费了,因此用XML来存储不妨为一个很好的办法,而且结合C#的DataSet,我们可以很轻易的封装出一个代码简单而功能强大的数据访问类XMLConfig
    config.xml
    <root>
     
    <table1>
        <rowName1>hello</rowName1>
       
    <rowName2>World</rowName2>
      </table1>
     
    <table1>
        <rowName1>hank</rowName1>
       
    <rowName2>Joke</rowName2><!--table1, row1:
    ds.Tables["table1"].Rows[1]["rowName2"] -->
      </table1>

     
    <table2>
      </table2>
      <table2>
     
    </table2>

      <table3>
     
    </table3>
    </root>

        class XMLConfig
        {
           
    /// <summary>
            /// XML文件名
            ///
    </summary>
            private static string fileName;
            ///
    <summary>
            /// 数据集
            /// </summary>
           
    private static DataSet objDataSet;
            /// <summary>
            ///
    表名
            /// </summary>
            private string
    tableName;
            private bool updated = false;
            static
    XMLConfig()
            {
                fileName =
    "data//config.xml";
                objDataSet = new DataSet();
               
    objDataSet.ReadXml(fileName);
            }
            ///
    <summary>
            /// 获取一个表
            /// </summary>
           
    /// <param name="tableName">表名</param>
            public
    XMLConfig(string tableName)
            {
                this.tableName =
    tableName;
            }
            /// <summary>
            ///
    获取配置
            /// </summary>
            /// <param
    name="index"></param>
            /// <param
    name="row"></param>
            ///
    <returns></returns>
            public object GetConfig(int index,
    string row)
            {
                return
    objDataSet.Tables[tableName].Rows[index][row];
            }
            ///
    <summary>
            /// 修改配置
            /// </summary>
           
    /// <param name="index"></param>
            /// <param
    name="row"></param>
            /// <param
    name="value"></param>
            public void SetConfig(int index,
    string row, string value)
            {
               
    objDataSet.Tables[tableName].Rows[index][row] = value;
                updated =
    true;
            }
            /// <summary>
            ///
    析构函数,程序退出时,如果有修改,则把修改写回XML文件中
            /// </summary>
           
    ~XMLConfig()
            {
                if(updated)
                   
    objDataSet.WriteXml(fileName);
            }
        }

  • 相关阅读:
    Content Hugging Priority 和 Content Compression Resistance Priority
    fiddler 拦截小结
    好的 iOS 代码习惯
    查看约束优先级的方法
    定义接口常用约定
    让系统照片选择器的导航栏变蓝的代码
    ZT C语言实现字符串倒序
    ZT 蓝牙的AVCTP协议笔记
    ZT 蓝牙的AVDTP协议笔记
    ZT A2DP协议笔记
  • 原文地址:https://www.cnblogs.com/CocoWang/p/3700654.html
Copyright © 2020-2023  润新知