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