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

时间:2024-01-19 21:40:44

DataSet

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

属性

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

ds.Tables["sjxx"]

DataTable

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

公共属性

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

DataSet 获取此表所属的 DataSet。

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

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

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

TableName 获取或设置 DataTable 的名称。

DataRow

表示 DataTable 中的一行数据

row["index"]

DataColumn

表示 DataTable 中列的架构。

DataTableDataSet常用操作实例

//创建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");