下面用實例進行介紹說明ADONET SQL給了我們機會使我們可以將我們自己的功能提供給Windows開發人員把多條命令合並成單一命令能減少到服務器的行程數並提高應用程序的性能
然後再發出一條批處理命令調用從數據源刪除它們雖然這樣做確實能提高性能但是當對 DataSet 中的數據更新進行管理時可能會增加應用程序的復雜性要保持簡單可能要在 DataSet 中為每個 DataTable 創建一個 DataAdapter
用多個表填充 DataSet
如果使用批處理ADONET SQL語句檢索多個表並填充 DataSet第一個表用指定給 Fill 方法的表名命名後面的表用指定給 Fill 方法的表名加上一個從 開始並且增量為 的數字命名例如如果運行下面的代碼
Visual Basic Dim da As SqlDataAdapter = New SqlDataAdapter(SELECT * FROM Customers; SELECT * FROM Orders; myConnection)
Dim ds As DataSet = New DataSet()
daFill(ds Customers)
//C#
SqlDataAdapter da = new SqlDataAdapter(SELECT *FROM Customers; SELECT * FROM Orders; myConnection)
DataSet ds = new DataSet()
daFill(ds Customers)
ADONET SQL放在名為 Customers 的 DataTable 中來自 Orders 表的數據放在名為 Customers 的 DataTable 中填充完 DataSet 之後可以很容易地把 Customers 表的 TableName 屬性改為 Orders但是後面的填充會導致 Customers 表被重新填充而 Orders 表會被忽略並創建另外一個 Customers 表為了對這種情況作出補救創建一個 DataTableMapping把 Customers 映射到 Orders並為其他後面的表創建其他的表映射例如
Visual Basic Dim da As SqlDataAdapter = New SqlDataAdapter(SELECT * FROM Customers; SELECT * FROM Orders; myConnection)
daTableMappingsAdd(Customers Orders)
Dim ds As DataSet = New DataSet()
daFill(ds Customers)
//C#
SqlDataAdapter da = new SqlDataAdapter(SELECT * FROM Customers; SELECT * FROM Orders; myConnection)
daTableMappingsAdd(Customers Orders)
DataSet ds = new DataSet()
daFill(ds Customers)
From:http://tw.wingwit.com/Article/program/net/201311/13352.html