SqlDataAdapter
是 .NET Framework 和 .NET Core 中提供的一个数据适配器类,属于 System.Data.SqlClient
命名空间(或在 .NET 6+ 中属于 Microsoft.Data.SqlClient
命名空间)。它的作用是充当数据源(如 SQL Server 数据库)和内存中数据(如 DataSet
或 DataTable
)之间的桥梁。通过它,可以方便地执行数据库操作,并将数据加载到内存或将内存数据更新到数据库。
SqlDataAdapter
的核心功能
-
从数据库读取数据
使用SqlDataAdapter
从数据库中检索数据并填充到DataSet
或DataTable
中。 -
将内存中的数据更新回数据库
SqlDataAdapter
可以检测内存中的数据更改(如新增、修改或删除),并将这些更改应用到数据库。 -
支持离线数据处理
数据适配器允许开发者在断开数据库连接的情况下处理数据(离线数据模式)。
基本结构
SqlDataAdapter
主要依赖以下几个命令:
-
SelectCommand
用于从数据库中检索数据。 -
InsertCommand
用于插入数据到数据库。 -
UpdateCommand
用于更新数据库中的数据。 -
DeleteCommand
用于删除数据库中的数据。
这些命令通常由 SqlCommand
对象表示,并包含 SQL 查询或存储过程。
示例
using System;
using System.Data;
using System.Data.SqlClient;class Program
{static void Main(){string connectionString = "your_connection_string_here";string query = "SELECT * FROM Customers";// 创建连接和适配器using (SqlConnection connection = new SqlConnection(connectionString)){SqlDataAdapter adapter = new SqlDataAdapter(query, connection);// 将数据加载到 DataTableDataTable dataTable = new DataTable();adapter.Fill(dataTable);// 显示数据foreach (DataRow row in dataTable.Rows){Console.WriteLine($"ID: {row["CustomerID"]}, Name: {row["CustomerName"]}");}}}
}