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