首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

ADO.NET SqlDataAdapter 核心功能與使用全攻略

     編輯:更多程式設計知識

SqlDataAdapter 是 ADO.NET 中連接 DataSet 與 SQL Server 資料庫的橋樑,封裝了 SelectCommand、InsertCommand、UpdateCommand、DeleteCommand 四大命令,實現資料的離線存取與批次更新。

核心特點

  • 斷點連線架構:Fill() 執行完畢後,DataSet 與資料庫連線即斷開,適合高併發場景。
  • 命令封裝:四大命令屬性分別對應查詢、新增、修改、刪除操作,支援預存程序與參數化 SQL。
  • 資料表映射:TableMappings 可將資料庫表名映射為自訂 DataTable 名稱。

三種建構子常用模式

// 1. SQL 字串 + 連線字串
var da = new SqlDataAdapter("SELECT * FROM Customers", connStr);

// 2. SQL 字串 + SqlConnection 物件
var cn = new SqlConnection(connStr);
var da = new SqlDataAdapter("SELECT * FROM Customers", cn);

// 3. SqlCommand 物件(推薦,便於參數化)
var cmd = new SqlCommand("SELECT * FROM Customers WHERE City = @City", cn);
cmd.Parameters.AddWithValue("@City", "London");
var da = new SqlDataAdapter(cmd);

Fill 方法多樣化用法

方法簽名用途
Fill(DataSet)填充預設名為 "Table" 的 DataTable
Fill(DataSet, "TableName")指定 DataTable 名稱
Fill(DataTable)直接填充 DataTable
Fill(DataSet, startRecord, maxRecords, "TableName")分頁載入(僅 SQL Server 支援)

連線管理最佳實踐

// 手動控制連線,適合同一連線多次 Fill
cn.Open();
daCustomers.Fill(ds);
daOrders.Fill(ds);
cn.Close();

關鍵屬性、方法與事件速查

  • 屬性:SelectCommand、UpdateCommand、TableMappings、ContinueUpdateOnError
  • 方法:Fill()、FillSchema()、Update()、GetFillParameters()
  • 事件:RowUpdating、RowUpdated、FillError — 可在更新前後攔截邏輯或處理填充異常。

DbDataAdapter.Fill 多載完整列表

繼承自 DbDataAdapter 的 Fill 方法提供 9 種多載,支援 IDataReader、IDbCommand、CommandBehavior 等進階參數,滿足不同資料來源與載入策略需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved