电竞比分网-中国电竞赛事及体育赛事平台

分享

.NET開發(fā)實(shí)戰(zhàn)之ADO.NET中的類

 秋水風(fēng)帆 2010-12-30

14.2.2  ADO.NET中的類

ADO.NET中的類很多,從一次數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程看,一般需要4個(gè)或5個(gè)類,它們的順序如圖14-4所示。

 
圖14-4  數(shù)據(jù)庫(kù)訪問(wèn)中類的順序

在使用這些類時(shí),除了基礎(chǔ)類DataSet外,其他類的數(shù)據(jù)提供程序要一致,如SQLConnection、SQLCommand、SQLDataReader是一致的,OLEDbConnection、OLEDbCommand、OLEDbDataAdapter是一致的。

下面我們就以O(shè)LEDB數(shù)據(jù)提供程序?yàn)槔齺?lái)說(shuō)明這些類。

1.基礎(chǔ)類DataSet

這個(gè)類是數(shù)據(jù)在內(nèi)存中駐留時(shí)的表示形式。無(wú)論什么數(shù)據(jù)源,它在內(nèi)存中的數(shù)據(jù)表示是一致的,因此它可以連接任何數(shù)據(jù)源。DataSet數(shù)據(jù)集可以包含任意數(shù)量的數(shù)據(jù)表,以及所有表的約束、索引和關(guān)系。它沒(méi)有與數(shù)據(jù)源聯(lián)系的能力,因此在使用DataSet對(duì)象之前,必須要有一個(gè)可以建立初始化數(shù)據(jù)的對(duì)象,即DataAdapter對(duì)象。

該類的主要屬性和方法如表14-1。

表14-1  DataSet類的主要屬性和方法

   

   

說(shuō)   

屬性

DataSetName

獲取或設(shè)置當(dāng)前DataSet的名稱

Namespace

獲取或設(shè)置DataSet的命名空間

Tables

獲取包含在DataSet中的表的集合

Prefix

獲取或設(shè)置一個(gè)XML前綴,該前綴是DataSet的命名空間的別名

方法

Clear

通過(guò)移除所有表中的所有行來(lái)清除數(shù)據(jù)

Clone

復(fù)制DataSet的結(jié)構(gòu),不復(fù)制任何數(shù)據(jù)

Copy

復(fù)制該DataSet的結(jié)構(gòu)和數(shù)據(jù)

ReadXml

XML架構(gòu)和數(shù)據(jù)讀入DataSet

ReadXmlSchema

XML架構(gòu)讀入DataSet

WriteXml

DataSetXML數(shù)據(jù),還可以選擇寫架構(gòu)

WriteXmlSchema

XML架構(gòu)形式的DataSet結(jié)構(gòu)

2.OleDbDataAdapter

這個(gè)類可以建立并初始化數(shù)據(jù)集(即DataSet),與DataSet對(duì)象結(jié)合起來(lái)對(duì)數(shù)據(jù)源執(zhí)行SQL命令,提供DataSet對(duì)象所需要的存取數(shù)據(jù),可視為DataSet對(duì)象的操作核心,是DataSet對(duì)象與數(shù)據(jù)操作對(duì)象之間的溝通媒介。

該類的主要屬性和方法如表14-2所示。

表14-2  OleDbDataAdapter類的主要屬性和方法

   

   

說(shuō)   

屬性

DeleteCommand

獲取或設(shè)置SQL語(yǔ)句或存儲(chǔ)過(guò)程,用于從數(shù)據(jù)集中刪除記錄

SelectCommand

獲取或設(shè)置SQL語(yǔ)句或存儲(chǔ)過(guò)程,用于選擇數(shù)據(jù)源中的記錄

UpdateCommand

獲取或設(shè)置SQL語(yǔ)句或存儲(chǔ)過(guò)程,用于更新數(shù)據(jù)源中的記錄

InsertCommand

獲取或設(shè)置SQL語(yǔ)句或存儲(chǔ)過(guò)程,用于將新記錄插入到數(shù)據(jù)源中

方法

Fill

DataSet中添加或刷新行,以便與ADO RecordsetRecord對(duì)象中的行相匹配

Update

DataSet中每個(gè)已插入、已更新或已刪除的行調(diào)用相應(yīng)的INSERTUPDATEDELETE語(yǔ)句

GetFillParameters

獲取當(dāng)執(zhí)行SQL SELECT語(yǔ)句時(shí)由用戶設(shè)置的參數(shù)

3.OleDbDataReader

提供一個(gè)單向向前移動(dòng)且只讀的記錄集合,可以讀取由Command對(duì)象執(zhí)行命令所產(chǎn)生的數(shù)據(jù),只能與Command對(duì)象一起使用。

該類的主要屬性和方法如表14-3所示。

表14-3  OleDbDataReader類的主要屬性和方法

   

   

說(shuō)   

屬性

Depth

獲取一個(gè)值,用于指示當(dāng)前行的嵌套深度

FieldCount

獲取當(dāng)前行中的列數(shù)

HasRows

獲取一個(gè)值,用于指示OleDbDataReader是否包含一行或多行

IsClosed

指示是否可關(guān)閉數(shù)據(jù)讀取器

Item

獲取以本機(jī)格式表示的列的值

RecordsAffected

通過(guò)執(zhí)行SQL語(yǔ)句獲取更改、插入或刪除的行數(shù)

方法

GetBoolean

獲取指定列的布爾值形式的值

GetChar

獲取指定列的字符形式的值

GetDateTime

獲取指定列的DateTime對(duì)象形式的值

GetDecimal

獲取指定列的Decimal對(duì)象形式的值

GetDouble

獲取指定列的雙精度浮點(diǎn)數(shù)形式的值

GetFloat

獲取指定列的單精度浮點(diǎn)數(shù)形式的值

GetGuid

獲取指定列的值作為全局唯一標(biāo)識(shí)符(GUID

GetInt16

獲取指定列的16位有符號(hào)整數(shù)形式的值

GetInt32

獲取指定列的32位有符號(hào)整數(shù)形式的值

GetString

獲取指定列的字符串形式的值

IsDBNull

獲取一個(gè)值,該值指示列中是否包含不存在的或已丟失的值

Read

使OleDbDataReader前進(jìn)到下一條記錄

4.OleDbCommand

這個(gè)類可以操作數(shù)據(jù)源文件,對(duì)數(shù)據(jù)源下達(dá)操作數(shù)據(jù)庫(kù)的命令,即傳送SQL命令,執(zhí)行Action Query命令。

該類的主要屬性和方法如表14-4所示。

表14-4  OleDbCommand類的主要屬性和方法

   

   

說(shuō)   

屬性

CommandText

獲取或設(shè)置要對(duì)數(shù)據(jù)源執(zhí)行的SQL語(yǔ)句或存儲(chǔ)過(guò)程

CommandTimeout

獲取或設(shè)置在終止對(duì)執(zhí)行命令的嘗試并生成錯(cuò)誤之前的等待時(shí)間

Connection

獲取或設(shè)置OleDbCommand的此實(shí)例使用的OleDbConnection

方法

ExecuteNonQuery

針對(duì)Connection執(zhí)行SQL 語(yǔ)句并返回受影響的行數(shù)

ExecuteReader

CommandText發(fā)送到Connection并生成一個(gè) OleDbDataReader

ExecuteScalar

執(zhí)行查詢,并返回查詢所返回的結(jié)果集中第一行的第一列,忽略其他列或行

ResetCommandTimeout

CommandTimeout屬性重置為默認(rèn)值

5.OleDbConnection

該類主要負(fù)責(zé)與數(shù)據(jù)源的連接,建立程序與數(shù)據(jù)源之間的聯(lián)系,這是數(shù)據(jù)庫(kù)操作的第一步。

該類的主要屬性和方法如表14-5所示。

表14-5  OleDbCommand類的主要屬性和方法

   

   

說(shuō)   

屬性

ConnectionString

獲取或設(shè)置用于打開數(shù)據(jù)庫(kù)的字符串

ConnectionTimeout

獲取在嘗試建立連接時(shí)終止嘗試并生成錯(cuò)誤之前所等待的時(shí)間

Database

獲取當(dāng)前數(shù)據(jù)庫(kù)或連接打開后要使用的數(shù)據(jù)庫(kù)的名稱

DataSource

獲取數(shù)據(jù)源的服務(wù)器名或文件名

Provider

獲取在連接字符串的“Provider = ”子句中指定的OLE DB提供程序的名稱

State

獲取連接的當(dāng)前狀態(tài)

方法

Close

關(guān)閉到數(shù)據(jù)源的連接

Open

使用ConnectionString所指定的屬性設(shè)置打開數(shù)據(jù)庫(kù)連接

以上是以O(shè)LEDB數(shù)據(jù)提供程序?yàn)槔齺?lái)說(shuō)明ADO.NET中的類,其他數(shù)據(jù)提供程序中的類屬性與方法與此類似,這里就不再一一列舉。在每一種數(shù)據(jù)提供程序的類中,除了DataSet類是公用類外,其他類均需要相應(yīng)的命名空間支持,而且不可互相串用。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多