zoukankan      html  css  js  c++  java
  • 一个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);
            }
        }

  • 相关阅读:
    POJ-1321-棋盘问题
    HDU-2553-N皇后问题
    POJ-1502-MPI Maelstrom
    POJ-3268-Silver Cow Party
    POJ-1125-Stockbroker Grapevine
    SPFA算法模板
    邻接表
    关于apache做301的问题
    在eclipse中使用正则表达式进行搜素
    sprintf数据库查询的作用
  • 原文地址:https://www.cnblogs.com/CocoWang/p/3700654.html
Copyright © 2011-2022 走看看