lin

返回

DataSet 对象 最常指 ADO.NET(.NET)中的 DataSet,用于在内存中缓存数据。

基本概念#

DataSet 是一个内存中的数据容器,独立于数据库连接,可以包含多张表、表间关系和数据约束。它在断开连接(Disconnected)模式下工作,非常适合多层应用和 Web 场景。

主要组成#

对象说明
DataTable一张内存数据表(行、列的集合)
DataRow / DataColumn表中的行与列定义
DataRelation表与表之间的父子关系(如外键)
Constraint唯一约束、外键约束
DataView对 DataTable 的排序/筛选视图

基本用法(C# 示例)#

// 1. 填充
using (var conn = new SqlConnection(connStr))
{
    var adapter = new SqlDataAdapter("SELECT * FROM Users", conn);
    var ds = new DataSet();
    adapter.Fill(ds, "Users");  // DataSet 里出现名为 Users 的表
}

// 2. 读取
DataTable table = ds.Tables["Users"];
foreach (DataRow row in table.Rows)
{
    Console.WriteLine(row["Name"]);
}

// 3. 增删改后回写数据库
DataRow newRow = table.NewRow();
newRow["Name"] = "张三";
table.Rows.Add(newRow);
adapter.Update(ds);  // 需要配置 InsertCommand/UpdateCommand/DeleteCommand
csharp

特点#

  • ✅ 驻留内存,可序列化(XML、二进制),支持跨层传输
  • ✅ 支持离线编辑,之后批量提交回数据库
  • ✅ 可维护表间关系和约束,类似”内存中的小数据库”
  • ❌ 比 DataReader 占内存多、性能略低(不适合只读遍历大数据)
  • ❌ 现在新项目多用 Entity Framework Core 等 ORM,DataSet 主要维护在老项目中
DataSet 对象
作者 lin
发布于 2026年10月17日

留言

无需登录,留下你的想法。

0
昵称颜色
可见范围