DataSet、DataTable、DataRow区别详解

(编辑:jimmy 日期: 2026/1/1 浏览:2)

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

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。