DataTable DataSet DataColumn DataRow 差异及用法

DataTable DataSet DataColumn DataRow 区别及用法

DataTable

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

          (3)常用方法
          AcceptChanges()  
提交自上次调用AcceptChanges()以来对该表进行的所有更改。
          BeginInit()        
开始初始化在窗体上使用或由另一个组件使用的DataTable。初始化发生在运行时。

          Clear()              清除所有数据的DataTable
          Clone()             
克隆DataTable的结构,包括所有DataTable架构和约束。
          EndInit()           
结束在窗体上使用或由另一个组件使用的DataTable的初始化。初始化发生在运行时。
          ImportRow(DataRow row)   
DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。
          Merge(DataTable table) 
将指定的DataTable与当前的DataTable合并。
          NewRow()        
创建与该表具有相同架构的新DataRow

 

 

DataSet

    表示数据在内存中的缓存。

    属性
    Tables  获取包含在 DataSet 中的表的集合。

    ds.Tables["sjxx"]

 

DataRow

    表示 DataTable 中的一行数据

    row["index"]

DataColumn

    表示 DataTable 中列的架构。

DataTable与DataSet常用操作实例

//创建DataSet
DataSet ds = new DataSet();

//创建DataTable

DataTable dt = new DataTable();
dt.Columns.Add(
"id",Type.GetType("System.Int32"
));
dt.Columns[
"id"].AutoIncrement= true
;
dt.Columns.Add(
"name",Type.GetType("System.String"
));

//插入行

DataRow dw1 = dt.NewRow();
dw1[
"name"]= "test1"
;
dt.Rows.Add(dw1);

DataRow dw2
=
dt.NewRow();
dw2[
"name"]= "test2"
;
dt.Rows.InsertAt(dw2,
0
);

//将DataTable添加到DataSet中

ds.Tables.Add(dt);

//DataTable中查询

DataTable dt = new DataTable();
DataRow dr[]
= dt.Select("1 = 1"
);

//DataTable更新

DataTable dt = (DataTable)HttpContext.Current.Cache["MYCACHE"];
DataRow[] dr
= dt.Select("1 = 1"
);
if (dr.Length> 0
)
{
    dr[
0]["colName"]= "colValue"
;
}

//统计

object o= dt.Compute("SUM(col_name)","1=1");