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