知在吧 关注:5贴子:119
  • 4回复贴,共1

C# dataTable与dataSet

只看楼主收藏回复

一、DataTable简介
(1)构造函数
DataTable() 不带参数初始化DataTable 类的新实例。
DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable类的新实例。
(2) 常用属性
CaseSensitive 指示表中的字符串比较是否区分大小写。
ChildRelations 获取此DataTable 的子关系的集合。
Columns 获取属于该表的e799bee5baa6e79fa5e98193e58685e5aeb931333339653638列的集合。
Constraints 获取由该表维护的约束的集合。
DataSet 获取此表所属的DataSet。
DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。
HasErrors 获取一个值,该值指示该表所属的DataSet 的任何表的任何行中是否有错误。
MinimumCapacity 获取或设置该表最初的起始大小。该表中行的最初起始大小。默认值为 50。
Rows 获取属于该表的行的集合。
TableName 获取或设置DataTable 的名称。datatable


IP属地:广东1楼2020-04-10 23:01回复
    (3)常用方法
    AcceptChanges() 提交自上次调用AcceptChanges() 以来对该表进行的所有更改。
    BeginInit() 开始初始化在窗体上使用或由另一个组件使用的DataTable。初始化发生在运行时。
    Clear() 清除所有数据的DataTable。
    Clone() 克隆DataTable 的结构,包括所有DataTable 架构和约束。
    EndInit() 结束在窗体上使用或由另一个组件使用的DataTable 的初始化。初始化发生在运行时。
    ImportRow(DataRow row) 将DataRow 复制到DataTable 中,保留任何属性设置以及初始值和当前值。
    Merge(DataTable table) 将指定的DataTable 与当前的DataTable 合并。
    NewRow() 创建与该表具有相同架构的新DataRow。


    IP属地:广东2楼2020-04-10 23:02
    回复
      二、DataTable使用技巧
      (1)Create a DataTable
      DataTable dt = new DataTable("Table_AX");
      (2)Add columns for DataTable
      //Method 1
      dt.Columns.Add("column0", System.Type.GetType("System.String"));
      //Method 2
      DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
      dt.Columns.Add(dc);
      (3)Add rows for DataTable
      //Initialize the row
      DataRow dr = dt.NewRow();
      dr["column0"] = "AX";
      dr["column1"] = true;
      dt.Rows.Add(dr);
      //Doesn't initialize the row
      DataRow dr1 = dt.NewRow();
      dt.Rows.Add(dr1);
      (4)Select row
      //Search the second row 如果没有赋值,则用is null来select
      DataRow[] drs = dt.Select("column1 is null");
      DataRow[] drss = dt.Select("column0 = 'AX'");
      (5)Copy DataTable include data
      DataTable dtNew = dt.Copy();
      (6)Copy DataTable only scheme
      DataTable dtOnlyScheme = dt.Clone();
      (7)Operate one row
      //对dt的操作
      //Method 1
      DataRow drOperate = dt.Rows[0];
      drOperate["column0"] = "AXzhz";
      drOperate["column1"] = false;
      //Method 2
      drOperate[0] = "AXzhz";
      drOperate[1] = false;
      //Method 3
      dt.Rows[0]["column0"] = "AXzhz";
      dt.Rows[0]["column1"] = false;
      //Method 4
      dt.Rows[0][0] = "AXzhz";
      dt.Rows[0][1] = false;


      IP属地:广东3楼2020-04-10 23:02
      回复
        (8)Evaluate another DataTable's row to current Datatable
        dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray);
        (9)Convert to string
        System.IO.StringWriter sw = new System.IO.StringWriter();
        System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
        dt.WriteXml(xw);
        string s = sw.ToString();
        (10)Filter DataTable
        dt.DefaultView.RowFilter = "column1 <> true";
        (11)Sort row
        dt.DefaultView.Sort = "ID ,Name ASC";
        dt=dt.DefaultView.ToTable();
        (12)Bind DataTable
        //绑定的其实是DefaultView
        gvTestDataTable.DataSource = dt;
        gvTestDataTable.DataBind();
        (13)judge the DataTable’s Column name is a string
        //判断一个字符串是否为DataTable的列名
        dtInfo.Columns.Contains("AX");
        (14)DataTable convert to XML and XML convert to DataTable


        IP属地:广东4楼2020-04-10 23:04
        回复
          2020年4月10日


          IP属地:广东5楼2020-04-10 23:05
          回复