DataSet、DataTable、DataRow、DataColumn区别及使用实例

来源:互联网 发布:excel多个表格数据求和 编辑:程序博客网 时间:2024/04/28 00:47

DataSet就像一整个SQL数据库.
DataTable对应数据库中的一个表
DataRow对应数据库中的一行..
他们是包含关系DataSet包含N多DataTable,DataTable又包含了N多DataRow
比如访问数据库中的某一行某一个建的值
写类似这样的代码
DataSet.DataTable[0].Row[0]["ID"]

 

DataSet

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

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

ds.Tables["sjxx"]

 

DataTable

表示内存中数据的一个表。

公共属性
Columns 获取属于该表的列的集合。

DataSet 获取此表所属的 DataSet。

DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。

PrimaryKey 获取或设置充当数据表主键的列的数组。

Rows 获取属于该表的行的集合。

TableName 获取或设置 DataTable 的名称。

 

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");