資源描述:
《ASP NET程序設(shè)計(jì)(徐占鵬)教學(xué)資源_單元5 ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)(四)SqlDataReader對(duì)象.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、單元五ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)(四)dataReader對(duì)象主講教師:徐占鵬學(xué)習(xí)目標(biāo)【知識(shí)目標(biāo)】了解DataReader對(duì)象的基本知識(shí),常用屬性及方法【技能目標(biāo)】掌握DataReader對(duì)象的基本知識(shí);掌握DataReader對(duì)象的常用屬性;掌握DataReader對(duì)象的常用方法;注:本課內(nèi)容參考教材單元一1.1DataReader對(duì)象簡(jiǎn)介DataReader類(lèi)用于從數(shù)據(jù)源中檢索只讀、只進(jìn)的數(shù)據(jù)流,其最大的特點(diǎn)是DataReader對(duì)象以“基于連接”的方式訪問(wèn)數(shù)據(jù)。DataReader需要與數(shù)據(jù)源實(shí)時(shí)連接,提供了循環(huán)和使用全部或部分結(jié)果集的高效方式。這個(gè)
2、對(duì)象不能實(shí)例化,而必須調(diào)用Command對(duì)象的ExecuteReader方法,才能得到有效的DataReader對(duì)象。DataReader對(duì)象簡(jiǎn)介所有DataReader對(duì)象的基類(lèi)均為DbDataReader類(lèi)。.NETFramework中的Syste.Data.Comman.DbDataReader類(lèi)是一個(gè)抽象類(lèi),表示對(duì)數(shù)據(jù)庫(kù)執(zhí)行各種操作。從DbDataReader類(lèi)中派生出一組具體的的數(shù)據(jù)庫(kù)操作類(lèi),分別表示到一種特定數(shù)據(jù)源的操作,如下圖所示:DataReader對(duì)象簡(jiǎn)介根據(jù)所選用的.NETFramework數(shù)據(jù)程序的不同,有相應(yīng)的DataReader
3、對(duì)象。這些DataReader對(duì)象分別是SqlDataReader、OleDbDataReader、OdbcDataReader和OracleDataReader,應(yīng)根據(jù)不同的數(shù)據(jù)源不同選擇相應(yīng)的DataReader對(duì)象。DataReader對(duì)象屬性屬性描述說(shuō)明FieldCount獲取當(dāng)前行中的列數(shù)。HasRows獲取一個(gè)值,該值指示SqlDataReader是否包含一行或多行。Item[Int32]在給定列序號(hào)的情況下,獲取指定列的以本機(jī)格式表示的值。isClosed獲取SqlDataReader對(duì)象的狀態(tài)。true表示關(guān)閉,false表示打開(kāi)Item
4、[String]在給定列名稱(chēng)的情況下,獲取指定列的以本機(jī)格式表示的值。重要屬性說(shuō)明FieldCount獲取當(dāng)前行中的列數(shù)。isClosed獲取SqlDataReader對(duì)象的狀態(tài)。true表示關(guān)閉,false表示打開(kāi)DataReader對(duì)象常用方法方法描述說(shuō)明Close()關(guān)閉SqlDataReader對(duì)象。Dispose()釋放由Component使用的所有資源。Read()使SqlDataReader前進(jìn)到下一條記錄。NextResult()當(dāng)讀取批處理Transact-SQL語(yǔ)句的結(jié)果時(shí),使數(shù)據(jù)讀取器前進(jìn)到下一個(gè)結(jié)果。GetValue()獲取以本機(jī)
5、格式表示的指定列的值。GetValues()使用當(dāng)前行的列值來(lái)填充對(duì)象數(shù)組。重要方法說(shuō)明Close()關(guān)閉SqlDataReader對(duì)象。Dispose()釋放由Component使用的所有資源。在使用完SqlDataReader對(duì)象后一定要關(guān)閉SqlDataReader對(duì)象并釋放所使用的資源使用SqlDataReader讀取數(shù)據(jù)SqlDataReader對(duì)象是一個(gè)向前只讀的記錄指針,用于快速讀取數(shù)據(jù)。對(duì)于只需要順序顯示數(shù)據(jù)表中記錄的應(yīng)用而言,SqlDataReader對(duì)象是比較理想的選擇。DataReader對(duì)象屬性在讀取數(shù)據(jù)時(shí),它需要與數(shù)據(jù)源保持實(shí)時(shí)
6、連接,以循環(huán)的方式讀取結(jié)果集中的數(shù)據(jù)。這個(gè)對(duì)象不能直接實(shí)例化,而必須調(diào)用SqlCommand對(duì)象的ExecuteReader方法才能創(chuàng)建有效的SqlDataReader對(duì)象。SqlDataReader對(duì)象一旦創(chuàng)建,即可通過(guò)對(duì)象的屬性、方法訪問(wèn)數(shù)據(jù)源中的數(shù)據(jù)。用DataReader查詢(xún)數(shù)據(jù)庫(kù)的步驟創(chuàng)建SqlConnection對(duì)象,設(shè)置連接字符串;創(chuàng)建SqlCommand對(duì)象,設(shè)置它的Connection和CommandText屬性,分別表示數(shù)據(jù)庫(kù)連接和需要執(zhí)行的SQL命令。打開(kāi)與數(shù)據(jù)庫(kù)連接;使用SqlCommand對(duì)象的ExecuteReader方法執(zhí)行
7、CommandText中的命令;并把返回的結(jié)果放在SqlDataReader對(duì)象中。通過(guò)循環(huán),處理數(shù)據(jù)庫(kù)查詢(xún)結(jié)果。關(guān)閉與數(shù)據(jù)庫(kù)連接;使用DataReader對(duì)象注意事項(xiàng)讀取數(shù)據(jù)時(shí),SqlConnection對(duì)象必須處于打開(kāi)狀態(tài)。必須通過(guò)SqlCommand對(duì)象的ExecuteReader()方法,產(chǎn)生SqlDataReader對(duì)象的實(shí)例。只能按向下的順序逐條讀取記錄,不能隨機(jī)讀取。且無(wú)法直接獲知讀取記錄的總數(shù)。SqlDataReader對(duì)象管理的查詢(xún)結(jié)果是只讀的,不能修改。項(xiàng)目實(shí)訓(xùn)【實(shí)訓(xùn)目的】1.掌握系SqlDataReader常用方法和屬性方法?!緦?shí)訓(xùn)
8、內(nèi)容】1.掌握系SqlDataReader常用方法和屬性方法2.能夠使用SqlD