DataAdapter對象可以隱藏和Connection、Command對象溝通的細節,通過DataAdapter對象建立、初始化DataTable,從而和DataSet對象結合起來在內存存放數據表副本,實現離線式數據庫操作,事實上在8.1.2節中,我們在介紹DataSet數據模型的時候就已經演示了如何利用DataAdapter對象進行數據庫連接。DataAdapter對象允許將DataSet對象中的數據保存到數據源中,也可以從數據源中讀取數據,並且也可以底層數據保存體進行數據的添加、刪除、更新等操作。
DataAdapter對象含有四個不同的操作命令,分別如下:
(1)、SelectCommand:用來或去數據源中的記錄;
(2)、InsertCommand:用來向數據源中新插入一條記錄;
(3)、UpdateCommand:用來更新數據源中的數據;
(4)、DeleteCommand:用來刪除數劇源中的記錄。
根據使用的數據庫不同,DataAdapter也具有了兩個不同的對象:OleDbDataReader和SqlDataReader對象,分別用來訪問支持ADO Managed Provider的數據庫和SQL Server數據庫。
當使用OleDbDataReader對象時,使用方法:
[Visual Basic語言]
Public Function SelectOleDbSrvRows(dataSet As DataSet, connection As String, query As String) As DataSet
Dim conn As New OleDbConnection(connection)
Dim adapter As New OleDbDataAdapter()
adapter.SelectCommand = new OleDbCommand(query, conn)
adapter.Fill(dataset)
Return dataset
End Function
[C#語言]
public DataSet SelectOleDbSrvRows(DataSet dataset,string connection,string query)
{
OleDbConnection conn = new OleDbConnection(connection);
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(query, conn);
adapter.Fill(dataset);
return dataset;
}
當使用SqlDataReaderd對象時,使用方法為:
[Visual Basic語言]
Public Function SelectSqlSrvRows(dataSet As DataSet, connection As String, query As String) As DataSet
Dim conn As New SqlConnection(connection)
Dim adapter As New SqlDataAdapter()
adapter.SelectCommand = new SqlCommand(query, conn)
adapter.Fill(dataset)
Return dataset
End Function
[C#語言]
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;
}