SqlDataAdapter 是 DataSet 和 SQL Server 之間的橋接器,用于檢索和保存數據。SqlDataAdapter 通過對數據源使用適當的 Transact-SQL 語句映射 Fill(它可更改 DataSet 中的數據以匹配數據源中的數據)和 Update(它可更改數據源中的數據以匹配 DataSet 中的數據)來提供這一橋接。
當 SqlDataAdapter 填充 DataSet 時,它將為返回的數據創建必要的表和列(如果它們尚不存在)。但是,除非 MissingSchemaAction 屬性設置為 AddWithKey,否則這個隱式創建的架構中就將不包括主鍵信息。也可以在使用 FillSchema 為數據集填充數據前,讓 SqlDataAdapter 創建 DataSet 的架構(包括主鍵信息)。有關更多信息,請參見向 DataSet 添加現有約束。
SqlDataAdapter 與 SqlConnection 和 SqlCommand 一起使用,以便在連接到 Microsoft SQL Server 數據庫時提高性能。
SqlDataAdapter 還包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 屬性,使數據的加載和更新更加方便。
示例
以下示例使用 SqlCommand、SqlDataAdapter 和 SqlConnection,從數據庫選擇記錄,并用選定的行填充 DataSet。然后返回已填充的 DataSet。為完成此任務,向該方法傳遞一個已初始化的 DataSet、一個連接字符串和一個查詢字符串,后者是一個 Transact-SQL SELECT 語句。
public DataSet SelectSqlSrvRows(DataSet dataset,string connection,string query)
{
SqlConnection conn = new SqlConnection(connection);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(query, conn);
adapter.Fill(dataset);
return dataset;
}