答案:DataAdapter通过Fill方法将数据库数据填充到DataSet中,DataSet作为内存数据容器支持多表离线操作,结合SqlDataAdapter可实现数据读取与更新。

在C#中,DataAdapter 和 DataSet 常用于从数据库读取数据并进行离线操作。DataAdapter 充当数据库和 DataSet 之间的桥梁,通过 Fill 方法将查询结果填充到 DataSet 中。
基本流程说明
使用 SqlDataAdapter(以 SQL Server 为例)执行 SELECT 命令,把数据填充到 DataSet 的 DataTable 中。DataSet 可包含多个表,适合处理多表查询或关联数据。示例代码:使用 SqlDataAdapter 和 DataSet
以下是一个完整的控制台应用程序示例,展示如何连接 SQL Server 数据库并填充数据:
var connectionString = "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;"; var query = "SELECT Id, Name, Email FROM Users"; using (var connection = new SqlConnection(connectionString)) { using (var adapter = new SqlDataAdapter(query, connection)) { var dataSet = new DataSet(); adapter.Fill(dataSet, "Users"); // 遍历数据 foreach (DataRow row in dataSet.Tables["Users"].Rows) { Console.WriteLine($"ID: {row["Id"]}, Name: {row["Name"]}, Email: {row["Email"]}"); } } }关键点说明
- SqlConnection 负责数据库连接,由 SqlDataAdapter 内部管理打开和关闭。
- SqlDataAdapter 可设置 SelectCommand,也可直接传入 SQL 字符串和连接对象。
- Fill() 方法执行查询并将结果写入 DataSet 的指定表名中。
- DataSet 是内存中的数据容器,支持多表、关系和约束。
- 即使连接关闭,DataSet 仍可访问数据,适用于断开式数据操作。










