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 查询或存储过程。
示例
cs
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);
// 将数据加载到 DataTable
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
// 显示数据
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"ID: {row["CustomerID"]}, Name: {row["CustomerName"]}");
}
}
}
}