您的位置:首页 - 教程 - C# - 正文
datatable相关用法

   一、datatable自己构建以及构造数据,先创建列,然后创建行,并写入数据

  DataTable dt = new DataTable();               

  dt.Columns.Add("UserId");               

  dt.Columns.Add("UserName");

  for (int i = 0; i < 10; i++) {                  

       var row = dt.NewRow();                  

       string uname="UserName";                   

       row["UserId"] = i.ToString();                   

       row[uname] = "test" + i;                   

       dt.Rows.Add(row);

}

二、dt.RejectChanges(); dt.AcceptChanges();  dt.GetChanges();  三个函数的含义及相关用法

DataTable 中的每个DataRow中都有DataRowState记录每行状态。此状态在DataTable中已经封装好。以下为DataRowState 不中状态值
    

    // 摘要:
        //     该行已被创建,但不属于任何 System.Data.DataRowCollection。System.Data.DataRow 在以下情况下立即处于此状态:创建之后添加到集合中之前;或从集合中移除之后。
        Detached = 1,
        //
        // 摘要:
        //     该行自上次调用 System.Data.DataRow.AcceptChanges() 以来尚未更改。
        Unchanged = 2,
        //
        // 摘要:
        //     该行已添加到 System.Data.DataRowCollection 中,System.Data.DataRow.AcceptChanges()
        //     尚未调用。
        Added = 4,
        //
        // 摘要:
        //     该行已通过 System.Data.DataRow 的 System.Data.DataRow.Delete() 方法被删除。
        Deleted = 8,
        //
        // 摘要:
        //     该行已被修改,System.Data.DataRow.AcceptChanges() 尚未调用。
        Modified = 16,

dt.RejectChanges() 此函数表示 “回滚”,主要用在处理异常中。修改DataRowState为运行前的状态

dt.AcceptChanges() 此函数表示“更新状态”, 例如:插入一条数据,获取最新数据,将当前状态改为默认初始状态

dt.GetChanges() 此函数表示“发生改变的数据”,此函数将返回发生改变的数据,如果没有任何改变,则返回null


评论: