豐富多彩的ADO.NET組件使用問題
在取得Command對象執行ExecuteReader方法所產生的DataReader對象后,我們就可以將記錄中的數據取出使用。DataReader一開始并沒有取回任何數據,所以要調用Read方法讓DataReader先讀出一筆數據。
在上面的代碼中,reader.GetValue(i)等價于reader[i]或reader[reader.GetName(i)],區別在于GetValue只能通過索引來訪問數據,而后者則可以通過鍵值和索引兩種方式訪問數據。
因為DataReader在讀取數據的時候限制了每次以只讀的方式讀取一條記錄,ADO.NET組件所以使用DataReader不但節省資源而且效率很高。使用DataReader對象除了效率較高之外,因為不用把數據全部傳回,所以可以降低網絡的負載。#t#
DataAdapter對象及使用
DataAdapter對象主要是在Connection對象和DataSet對象之間執行數據傳輸的工作,ADO.NET組件這個對象架構在Command對象上。DataAdapter通過Command對象對數據源執行SQL命令,將數據填充到DataSet對象,以及把DataSet對象中的數據更新返回到數據源中。
ADO.NET組件的常用方法:
(1)Update:根據保存在DataSet中的數據來更新數據源中的數據。
(2)Fill:利用數據源中的數據填充或刷新DataSet,其返回值是加載到DataSet行數量。ADO.NET組件方法使用DataAdapter對象的SelectCommand的結果來填充DataSet。
DataAdapter對象的常用屬性:#t#
(1)SelectCommand:從數據源中檢索數據。
(2)InsertCommand:向數據源中插入數據。
(3)DeleteCommand:從數據源中刪除數據。
(4)UpdateCommand:更新數據源中的數據。
使用DataAdapter對象進行數據更新操作
如果在DataSet中已經有了變化,這種情況下,ADO.NET組件使用DataAdapter的Update方法來實現將本地數據的修改寫回至數據源將是一個更好的選擇,代碼段如下所示: