DataSet、DataTable、DataRow区别详解

509 查看

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