DataSet、DataTable、DataRow区别详解

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