Fields數(shù)據(jù)集合和Field對象_第1頁
Fields數(shù)據(jù)集合和Field對象_第2頁
Fields數(shù)據(jù)集合和Field對象_第3頁
Fields數(shù)據(jù)集合和Field對象_第4頁
Fields數(shù)據(jù)集合和Field對象_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、11.1 11.1 ADOADO概述概述 11.2 11.2 ConnectionConnection對象對象 11.3 11.3 CommandCommand對象對象 11.4 11.4 RecordSetRecordSet對象對象 11.5 11.5 FieldsFields數(shù)據(jù)集合和數(shù)據(jù)集合和FieldField對象對象 11.6 11.6 PropertiesProperties數(shù)據(jù)集合和數(shù)據(jù)集合和PropertyProperty對象對象11.7 11.7 ParametersParameters數(shù)據(jù)集合與數(shù)據(jù)集合與ParameterParameter對象對象11.8 11.8 Err

2、orsErrors數(shù)據(jù)集合和數(shù)據(jù)集合和ErrorError對象對象 Browser/ServerBrowser/Server(瀏覽器(瀏覽器/ /服務(wù)器)已經(jīng)成為服務(wù)器)已經(jīng)成為MISMIS(Management InFormationManagement InFormation System System 管理信息系統(tǒng))管理信息系統(tǒng))的主要模式。在的主要模式。在MISMIS系統(tǒng)中,對數(shù)據(jù)庫的操作占有非系統(tǒng)中,對數(shù)據(jù)庫的操作占有非常重要的地位,常重要的地位,ASPASP對數(shù)據(jù)庫的訪問可以通過對數(shù)據(jù)庫的訪問可以通過ADOADO模模式來實(shí)現(xiàn)。不過,式來實(shí)現(xiàn)。不過,ADOADO并不與數(shù)據(jù)資源直接通信

3、,而并不與數(shù)據(jù)資源直接通信,而是通過稱為是通過稱為OLE DBOLE DB(對象鏈接與嵌入式數(shù)據(jù)庫)的(對象鏈接與嵌入式數(shù)據(jù)庫)的中間界面。中間界面。目前有兩種使用目前有兩種使用ADOADO產(chǎn)生數(shù)據(jù)庫連接的方法。一方產(chǎn)生數(shù)據(jù)庫連接的方法。一方面,可以使用面向面,可以使用面向ODBCODBC驅(qū)動(dòng)器的驅(qū)動(dòng)器的OLE DBOLE DB驅(qū)動(dòng)程序產(chǎn)驅(qū)動(dòng)程序產(chǎn)生一個(gè)連接,這種連接與任何有生一個(gè)連接,這種連接與任何有ODBCODBC驅(qū)動(dòng)器的數(shù)據(jù)驅(qū)動(dòng)器的數(shù)據(jù)庫(即基本上是市場上所有的數(shù)據(jù)庫)兼容。另一庫(即基本上是市場上所有的數(shù)據(jù)庫)兼容。另一方面,可以使用原始方面,可以使用原始OLE DBOLE DB驅(qū)動(dòng)程

4、序產(chǎn)生一個(gè)連接。驅(qū)動(dòng)程序產(chǎn)生一個(gè)連接。 本章首頁本章首頁11.1.1 ADO11.1.1 ADO的七個(gè)對象的七個(gè)對象(1 1)ConnectionConnection對象用于創(chuàng)建對象用于創(chuàng)建ASPASP腳本和指定數(shù)據(jù)庫的連腳本和指定數(shù)據(jù)庫的連接。接。(2 2)CommandCommand對象負(fù)責(zé)對數(shù)據(jù)庫提供請求,也就是傳遞指對象負(fù)責(zé)對數(shù)據(jù)庫提供請求,也就是傳遞指定的定的SQLSQL命令。命令。(3 3)ParameterParameter對象負(fù)責(zé)傳遞對象負(fù)責(zé)傳遞CommandCommand對象所需要的對象所需要的SQLSQL命命令參數(shù)。令參數(shù)。(4 4)RecordSetRecordSet對象

5、負(fù)責(zé)瀏覽與操作從數(shù)據(jù)庫中取得的數(shù)對象負(fù)責(zé)瀏覽與操作從數(shù)據(jù)庫中取得的數(shù)據(jù)。據(jù)。(5 5)FieldField表示指定表示指定RecordSetRecordSet對象的數(shù)據(jù)字段。對象的數(shù)據(jù)字段。(6 6)PropertyProperty對象表示對象表示ADOADO的各項(xiàng)對象屬性值。的各項(xiàng)對象屬性值。(7 7)ErrorError對象負(fù)責(zé)記錄連接過程中所有發(fā)生的錯(cuò)誤信息。對象負(fù)責(zé)記錄連接過程中所有發(fā)生的錯(cuò)誤信息。11.1.2 ADO11.1.2 ADO的四個(gè)數(shù)據(jù)集合的四個(gè)數(shù)據(jù)集合(1 1)FieldsFields數(shù)據(jù)集合。數(shù)據(jù)集合。(2 2)PropertiesProperties數(shù)據(jù)集合。數(shù)據(jù)集合

6、。(3 3)ParametersParameters數(shù)據(jù)集合。數(shù)據(jù)集合。(4 4)ErrorsErrors數(shù)據(jù)集合。數(shù)據(jù)集合。11.1.3 ADO11.1.3 ADO對象與數(shù)據(jù)集合之間的關(guān)系對象與數(shù)據(jù)集合之間的關(guān)系 Connection 對象 Recordse 對象 Error 對象 Parameter 對象 Command 對象 Field 對象 Execute 操作方法 ActiveConnect 屬性 Errors 數(shù)據(jù) 集合 ActiveConnect 屬性 Parameters 數(shù)據(jù)集合 Source 屬性 Fields 數(shù)據(jù) 對象 Execute 操作方法 ConnectionCo

7、nnection對象負(fù)責(zé)與數(shù)據(jù)庫實(shí)際的連接對象負(fù)責(zé)與數(shù)據(jù)庫實(shí)際的連接動(dòng)作,其他的對象都必須依賴于動(dòng)作,其他的對象都必須依賴于ConnectionConnection對象的連接才能發(fā)揮其特有的功能。對象的連接才能發(fā)揮其特有的功能。在成功安裝在成功安裝ASPASP與與WebWeb服務(wù)器后,就可以使服務(wù)器后,就可以使用用ASPASP中中ServerServer對象的對象的CreateObjectCreateObject方法來創(chuàng)方法來創(chuàng)建建ConnectionConnection對象,語法如下:對象,語法如下:Set Conn = Server.CreateObject(ADODB.Connectio

8、n) 11.2.1 Connection11.2.1 Connection對象的方法對象的方法1 1OpenOpen方法方法ConnectionConnection對象的對象的OpenOpen方法負(fù)責(zé)創(chuàng)建與數(shù)據(jù)源的連方法負(fù)責(zé)創(chuàng)建與數(shù)據(jù)源的連接,語法如下:接,語法如下:connection.Open ConnectionString, UserIDconnection.Open ConnectionString, UserID, , PasswordPassword在對打開的在對打開的ConnectionConnection對象的操作結(jié)束后,可使用對象的操作結(jié)束后,可使用CloseClose方法

9、釋放所有關(guān)聯(lián)的系統(tǒng)資源。關(guān)閉對象并非方法釋放所有關(guān)聯(lián)的系統(tǒng)資源。關(guān)閉對象并非將它從內(nèi)存中刪除;可以更改它的屬性設(shè)置并在以后將它從內(nèi)存中刪除;可以更改它的屬性設(shè)置并在以后再次使用再次使用OpenOpen方法時(shí)打開它。要將對象完全從內(nèi)存中方法時(shí)打開它。要將對象完全從內(nèi)存中刪除,可將對象變量設(shè)置為刪除,可將對象變量設(shè)置為NothingNothing。1 1)通過)通過ODBCODBC連接。在利用連接。在利用ODBCODBC創(chuàng)建連接時(shí),創(chuàng)建連接時(shí),由于設(shè)置不同,由于設(shè)置不同,ConnectionConnection參數(shù)的設(shè)置也有參數(shù)的設(shè)置也有所不同:所不同:對于在對于在“ODBCODBC數(shù)據(jù)源控制面板

10、數(shù)據(jù)源控制面板”中設(shè)置過中設(shè)置過的數(shù)據(jù)源,該參數(shù)設(shè)置比較簡單,可以使用的數(shù)據(jù)源,該參數(shù)設(shè)置比較簡單,可以使用“DSN=DSN=數(shù)據(jù)源名稱數(shù)據(jù)源名稱”的格式。的格式。對于沒有在對于沒有在“ODBCODBC數(shù)據(jù)源控制面板數(shù)據(jù)源控制面板”中設(shè)中設(shè)置過的,可以采用指定置過的,可以采用指定ODBCODBC驅(qū)動(dòng)程序設(shè)置驅(qū)動(dòng)程序設(shè)置(稱為(稱為ODBC DSN LESSODBC DSN LESS),在),在WindowsWindows系統(tǒng)目系統(tǒng)目錄下的錄下的Odbc.iniOdbc.ini文件中,可以找到相關(guān)的信文件中,可以找到相關(guān)的信息。息。 本章首頁本章首頁(2 2)通過)通過OLE DBOLE DB連

11、接。連接。strProvider = Provider=sqloledb;Data strProvider = Provider=sqloledb;Data Source=zjf;Initial Catalog=txl;User ID=saSource=zjf;Initial Catalog=txl;User ID=sa; ; Password=; Password=; ProviderProvider指定用于連接的提供者的名稱,指定用于連接的提供者的名稱,SQL SQL ServerServer使用使用sqloledbsqloledb。Data SourceData Source指定數(shù)據(jù)庫服

12、務(wù)器的名稱。指定數(shù)據(jù)庫服務(wù)器的名稱。Initial CatalogInitial Catalog指定要連接的數(shù)據(jù)庫名稱指定要連接的數(shù)據(jù)庫名稱UserUser表示登錄表示登錄SQL ServerSQL Server服務(wù)器的用戶帳號(hào)。服務(wù)器的用戶帳號(hào)。PasswordPassword表示登錄表示登錄SQL ServerSQL Server服務(wù)器的用戶密碼。服務(wù)器的用戶密碼。 2 2ExecuteExecute方法方法對于沒有返回結(jié)果的命令格式:對于沒有返回結(jié)果的命令格式:connection.Execute CommandText, RecordsAffected, Options 對于有返回結(jié)果

13、的命令格式:對于有返回結(jié)果的命令格式:Set recordSet = connection.Execute (CommandText, RecordsAffected, Options)該方法返回一個(gè)該方法返回一個(gè)RecordSetRecordSet對象。對象??梢詧?zhí)行標(biāo)準(zhǔn)的可以執(zhí)行標(biāo)準(zhǔn)的SQLSQL語句命令,如語句命令,如SelectSelect(查詢提(查詢提取數(shù)據(jù))、取數(shù)據(jù))、InsertInsert(插入數(shù)據(jù))、(插入數(shù)據(jù))、DeleteDelete(刪除數(shù)(刪除數(shù)據(jù))、據(jù))、UpdateUpdate(更新數(shù)據(jù))、(更新數(shù)據(jù))、Create TableCreate Table(創(chuàng)建(創(chuàng)

14、建數(shù)據(jù)表)以及數(shù)據(jù)表)以及Drop TableDrop Table(刪除數(shù)據(jù)表)等操作。(刪除數(shù)據(jù)表)等操作。 3 3CloseClose方法方法使用使用CloseClose方法可關(guān)閉方法可關(guān)閉ConnectionConnection對象或?qū)ο蠡騌ecordSetRecordSet對象以便釋放所有關(guān)聯(lián)的系統(tǒng)資源。對象以便釋放所有關(guān)聯(lián)的系統(tǒng)資源。關(guān)閉對象并非將它從內(nèi)存中刪除,可以更改它關(guān)閉對象并非將它從內(nèi)存中刪除,可以更改它的屬性設(shè)置并且在此后再次打開。要將對象從的屬性設(shè)置并且在此后再次打開。要將對象從內(nèi)存中完全刪除,可將對象變量設(shè)置為內(nèi)存中完全刪除,可將對象變量設(shè)置為NothingNothin

15、g。語法如下:。語法如下:Connection.closeConnection.close4BeginTrans,CommitTrans和和RollbackTrans這三種方法都和這三種方法都和Connection對象的事務(wù)管理有關(guān)。對象的事務(wù)管理有關(guān)。其中其中BeginTransBeginTrans表示開始新事務(wù);表示開始新事務(wù);CommitTransCommitTrans表表示保存任何更改并結(jié)束當(dāng)前事務(wù),它也可能啟動(dòng)新事示保存任何更改并結(jié)束當(dāng)前事務(wù),它也可能啟動(dòng)新事務(wù);務(wù);RollbackTransRollbackTrans表示取消當(dāng)前事務(wù)中所作的任何表示取消當(dāng)前事務(wù)中所作的任何更改并結(jié)束

16、事務(wù),它也可能啟動(dòng)新事務(wù)。其語法如下:更改并結(jié)束事務(wù),它也可能啟動(dòng)新事務(wù)。其語法如下:level = connetion.BeginTrans()connection.BeginTransconnection.CommitTransconnection.RollbackTrans 11.2.2 Connection11.2.2 Connection對象的屬性對象的屬性1 1CommandTimeoutCommandTimeout設(shè)置設(shè)置ConnectionConnection對象的對象的OpenOpen方法與數(shù)方法與數(shù)據(jù)庫連接時(shí)的最長等待時(shí)間,據(jù)庫連接時(shí)的最長等待時(shí)間,CommandTimeo

17、utCommandTimeout屬性是設(shè)置屬性是設(shè)置ConnectionConnection對象的對象的ExecuteExecute方方法運(yùn)行的最長執(zhí)行時(shí)間。法運(yùn)行的最長執(zhí)行時(shí)間。2 2ConnectionStringConnectionString屬性:用來設(shè)置屬性:用來設(shè)置ConnectionConnection對象的對象的數(shù)據(jù)庫連接信息,包括數(shù)據(jù)庫連接信息,包括ProviderProvider參數(shù)、參數(shù)、Data SourceData Source參數(shù)、參數(shù)、User IDUser ID參數(shù)、參數(shù)、PasswordPassword參數(shù)及參數(shù)及File NameFile Name參數(shù)等。參

18、數(shù)等。 3 3ProviderProvider屬性屬性:用來取得或設(shè)置用來取得或設(shè)置ConnectionConnection對象的提對象的提供者(內(nèi)定數(shù)據(jù)庫管理程序的名稱),默認(rèn)值為供者(內(nèi)定數(shù)據(jù)庫管理程序的名稱),默認(rèn)值為MSDASQLMSDASQL(Microsoft OLE Db Provider For ODBCMicrosoft OLE Db Provider For ODBC),負(fù)責(zé)管理所有),負(fù)責(zé)管理所有以以O(shè)DBCODBC連接的數(shù)據(jù)庫。連接的數(shù)據(jù)庫。 4 4ModeMode屬性屬性該屬性用來設(shè)置修改數(shù)據(jù)庫的權(quán)限。語法如該屬性用來設(shè)置修改數(shù)據(jù)庫的權(quán)限。語法如下:下:Connect

19、ion.Mode = ModeValueConnection.Mode = ModeValue5 5其他屬性其他屬性DefaultDatabaseDefaultDatabase屬性、屬性、AttributesAttributes屬性、屬性、CursorLocationCursorLocation屬性、屬性、IsolationLevelIsolationLevel屬性、屬性、StateState屬性、屬性、VersionVersion屬性。屬性。11.2.3 Connection11.2.3 Connection對象的數(shù)據(jù)集合對象的數(shù)據(jù)集合ConnectionConnection對象提供對象提供

20、ErrorsErrors和和PropertiesProperties兩兩種數(shù)據(jù)集合。前者表示種數(shù)據(jù)集合。前者表示ConnectionConnection對象運(yùn)行時(shí)對象運(yùn)行時(shí)最近一次的錯(cuò)誤或警告信息,后者表示最近一次的錯(cuò)誤或警告信息,后者表示ConnectionConnection對象所定義的相關(guān)屬性。對象所定義的相關(guān)屬性。CommandCommand對象是對象是ADOADO中專門負(fù)責(zé)對數(shù)據(jù)庫執(zhí)行中專門負(fù)責(zé)對數(shù)據(jù)庫執(zhí)行命令和操作的對象,使用命令和操作的對象,使用CommandCommand對象可以查對象可以查詢數(shù)據(jù)庫并返回詢數(shù)據(jù)庫并返回RecordSetRecordSet對象中的記錄,以對象中的

21、記錄,以便執(zhí)行大量操作或修改數(shù)據(jù)庫結(jié)構(gòu)。使用該對便執(zhí)行大量操作或修改數(shù)據(jù)庫結(jié)構(gòu)。使用該對象不僅能夠?qū)σ话愕臄?shù)據(jù)庫信息進(jìn)行操作,還象不僅能夠?qū)σ话愕臄?shù)據(jù)庫信息進(jìn)行操作,還因?yàn)樵搶ο罂梢杂休斎?、輸出參?shù),從而可以因?yàn)樵搶ο罂梢杂休斎搿⑤敵鰠?shù),從而可以完成對數(shù)據(jù)庫存儲(chǔ)過程的調(diào)用。完成對數(shù)據(jù)庫存儲(chǔ)過程的調(diào)用。11.3.1 Command11.3.1 Command對象的屬性對象的屬性1 1ActiveConnectionActiveConnection屬性:屬性:用來設(shè)定該用來設(shè)定該CommandCommand對象操作由哪一個(gè)對象操作由哪一個(gè)ConnectionConnection對象指對象指定連接

22、的數(shù)據(jù)庫。該屬性的語法格式:定連接的數(shù)據(jù)庫。該屬性的語法格式:Command. ActiveConnection=ActiveConnectionValueCommand. ActiveConnection=ActiveConnectionValue2 2CommandTextCommandText屬性:屬性:表示程序所要對數(shù)據(jù)庫下表示程序所要對數(shù)據(jù)庫下達(dá)的命令。達(dá)的命令。Command.CommandText=CommandTextValueCommand.CommandText=CommandTextValue3 3CommandTypeCommandType屬性:屬性:指示指示Comma

23、ndCommand對象的類型。對象的類型。Command.CommandType=CommandTypeValue或或C o m m a n d T y p e V a l u e = C o m m a n d . CommandType 4 4CommandTimeoutCommandTimeout屬性:屬性:設(shè)置設(shè)置CommandCommand對象對象ExecuteExecute方法的最長執(zhí)行時(shí)間,方法的最長執(zhí)行時(shí)間,Command. CommandTimeoutCommand. CommandTimeout = Seconds = Seconds 5 5StateState屬性:屬性:

24、用來取得用來取得CommandCommand對象的狀態(tài)對象的狀態(tài)Command. State = StateValue6 6PreparedPrepared屬性:屬性:指示執(zhí)行前是否保存命令的編譯指示執(zhí)行前是否保存命令的編譯版本版本。Command. Prepared = Boolan或或Boolan = Command. Prepared 本章首頁本章首頁11.3.2 Command11.3.2 Command對象的方法對象的方法1 1CreateParameteCreateParamete方法方法該方法可以創(chuàng)建新的該方法可以創(chuàng)建新的ParameterParameter對象。對象。Set p

25、arameter=command.CreateParameter (Name, Type, Direction, Size, Value)其中:參數(shù)其中:參數(shù)NameName代表代表ParameterParameter對象名稱;對象名稱;TypeType是是長整型值,用于指定長整型值,用于指定ParameterParameter對象數(shù)據(jù)類型;對象數(shù)據(jù)類型;DirectionDirection是長整型值,用于指示是長整型值,用于指示ParameterParameter所標(biāo)明所標(biāo)明的是輸入?yún)?shù)、輸出參數(shù)還是既是輸出又是輸入?yún)⒌氖禽斎雲(yún)?shù)、輸出參數(shù)還是既是輸出又是輸入?yún)?shù),或該參數(shù)是否為存儲(chǔ)過程返回

26、的值;數(shù),或該參數(shù)是否為存儲(chǔ)過程返回的值;SizeSize是長是長整型值,用于指定參數(shù)值最大長度(以字符或字節(jié)整型值,用于指定參數(shù)值最大長度(以字符或字節(jié)數(shù)為單位);數(shù)為單位);ValueValue用于指定用于指定ParameterParameter對象的值。對象的值。 2 2ExecuteExecute方法方法負(fù)責(zé)運(yùn)行指定的負(fù)責(zé)運(yùn)行指定的SQLSQL命令或存儲(chǔ)過程。語法如下:命令或存儲(chǔ)過程。語法如下:有返回結(jié)果的語法:有返回結(jié)果的語法:Set recordSet= command.Execute(RecordsAffected,Parameters,Options)沒有返回的的語法:沒有返回

27、的的語法:command.Execute RecordsAffected, Parameters, OptionsRecordsAffectedRecordsAffected為長整型,其值是操作所影響的記錄數(shù),為長整型,其值是操作所影響的記錄數(shù),僅應(yīng)用于查詢或存儲(chǔ)過程操作;僅應(yīng)用于查詢或存儲(chǔ)過程操作;ParametersParameters是用是用SQLSQL語句傳送語句傳送的參數(shù)值(用該參數(shù)傳送時(shí)輸出參數(shù)將不返回正確值);的參數(shù)值(用該參數(shù)傳送時(shí)輸出參數(shù)將不返回正確值);OptionsOptions為長整型值,其數(shù)值是一個(gè)為長整型值,其數(shù)值是一個(gè)CommandTextCommandText的

28、屬性值。的屬性值。 RecordSetRecordSet對象表示的是來自數(shù)據(jù)表或命令對象表示的是來自數(shù)據(jù)表或命令執(zhí)行結(jié)果的記錄集。該對象負(fù)責(zé)瀏覽和操作從執(zhí)行結(jié)果的記錄集。該對象負(fù)責(zé)瀏覽和操作從數(shù)據(jù)庫中取出的數(shù)據(jù),該對象就像一個(gè)二維數(shù)數(shù)據(jù)庫中取出的數(shù)據(jù),該對象就像一個(gè)二維數(shù)組,數(shù)組的每一列表示數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)列,組,數(shù)組的每一列表示數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)列,而同時(shí)每個(gè)數(shù)據(jù)行包含多個(gè)字段,每個(gè)數(shù)據(jù)字而同時(shí)每個(gè)數(shù)據(jù)行包含多個(gè)字段,每個(gè)數(shù)據(jù)字段就表示一個(gè)段就表示一個(gè)FieldField對象。對象。11.4.1 11.4.1 RecordSetRecordSet對象的方法對象的方法使用使用OpenOpen

29、方法可以打開代表數(shù)據(jù)表、查詢結(jié)果或者方法可以打開代表數(shù)據(jù)表、查詢結(jié)果或者以前保存的以前保存的RecordSetRecordSet中記錄的游標(biāo)(指向數(shù)據(jù)庫數(shù)據(jù)中記錄的游標(biāo)(指向數(shù)據(jù)庫數(shù)據(jù)的位置,即指針),也就是說可以與數(shù)據(jù)庫建立連接。的位置,即指針),也就是說可以與數(shù)據(jù)庫建立連接。語法如下:語法如下:recordSet.Open Source, ActiveConnectionrecordSet.Open Source, ActiveConnection, , CursorType, LockTypeCursorType, LockType, Options , Options 其中:其中:So

30、urceSource用來指定數(shù)據(jù)源,可以是用來指定數(shù)據(jù)源,可以是CommandCommand對象對象名 、名 、 S Q LS Q L 語 句 、 表 名 、 存 儲(chǔ) 過 程 調(diào) 用 名 ;語 句 、 表 名 、 存 儲(chǔ) 過 程 調(diào) 用 名 ;ActiveConnectionActiveConnection用來指定與數(shù)據(jù)庫的連接信息,可用來指定與數(shù)據(jù)庫的連接信息,可以 是以 是 C o n n e c t i o nC o n n e c t i o n 對 象 名 或 字 符 串 , 包 含對 象 名 或 字 符 串 , 包 含ConnectionStringConnectionString

31、參數(shù);參數(shù); CursorTypeCursorType:本章首頁本章首頁常量常量參數(shù)參數(shù)值值說明說明AdOpenForwardAdOpenForwardOnlyOnly0使用前向類型游標(biāo),只能在記錄集中向前移動(dòng)使用前向類型游標(biāo),只能在記錄集中向前移動(dòng)(默認(rèn)值)(默認(rèn)值)AdOpenKeySet1使用鍵集類型游標(biāo),可以在記錄集中向前或向后使用鍵集類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。如果其他用戶刪除或改變了某條記錄,記移動(dòng)。如果其他用戶刪除或改變了某條記錄,記錄集中將反映這個(gè)變化。但是,如果其他用戶添錄集中將反映這個(gè)變化。但是,如果其他用戶添加了一條新記錄,新記錄將不會(huì)出現(xiàn)在記錄集中加了一條新

32、記錄,新記錄將不會(huì)出現(xiàn)在記錄集中AdOpenDynamic2使用動(dòng)態(tài)類型游標(biāo),可以在記錄集中向前或向后使用動(dòng)態(tài)類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。對于其他用戶造成的任何記錄的變化都將移動(dòng)。對于其他用戶造成的任何記錄的變化都將在記錄集中有所反映在記錄集中有所反映AdOpenStatic3使用靜態(tài)類型游標(biāo),可以在記錄集中向前或向后使用靜態(tài)類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。不會(huì)對其他用戶造成的任何記錄的變化有移動(dòng)。不會(huì)對其他用戶造成的任何記錄的變化有所反映所反映LockTypeLockType: 常量常量參數(shù)值參數(shù)值說明說明AdLockReadOnlyAdLockReadOnly0只讀。不

33、能改變數(shù)據(jù)(默認(rèn)值)。只讀。不能改變數(shù)據(jù)(默認(rèn)值)。AdLockPessimistic1保守式鎖定(逐個(gè))。指定在編輯一個(gè)記錄時(shí)立即保守式鎖定(逐個(gè))。指定在編輯一個(gè)記錄時(shí)立即鎖定它。鎖定它。AdLockOptimistic2開放式鎖定(逐個(gè))。數(shù)據(jù)庫使用開放式鎖定,只開放式鎖定(逐個(gè))。數(shù)據(jù)庫使用開放式鎖定,只在調(diào)用在調(diào)用UpdateUpdate方法時(shí)才鎖定記錄方法時(shí)才鎖定記錄AdLockBatchOptimistic3開放式批更新。用于批更新模式。開放式批更新。用于批更新模式。OptionsOptions:常量常量參數(shù)值參數(shù)值說明說明AdCmdUnknownAdCmdUnknown-1-1

34、指示指示SourceSource參數(shù)中的命令類型為未知參數(shù)中的命令類型為未知AdCmdText1指示被執(zhí)行的字符串包含一個(gè)命令文本指示被執(zhí)行的字符串包含一個(gè)命令文本AdCmdTable2指示被執(zhí)行的字符串包含一個(gè)表的名字指示被執(zhí)行的字符串包含一個(gè)表的名字AdCmdStoredProc3指示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過程名指示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過程名2 2CloseClose方法方法CloseClose方法用來關(guān)閉所指定的方法用來關(guān)閉所指定的RecordSetRecordSet對象,對象,語法如下:語法如下:RecordSetRecordSet.Close.Close3MoveFirst

35、,MoveLast,MoveNext,MovePrevious,Move方法方法這些方法都是用來移動(dòng)記錄指針的,通過使用這些這些方法都是用來移動(dòng)記錄指針的,通過使用這些方法可以根據(jù)實(shí)際情況方便地將記錄指針移動(dòng)到所要方法可以根據(jù)實(shí)際情況方便地將記錄指針移動(dòng)到所要的位置。的位置。MoveFirst:將指針移動(dòng)到:將指針移動(dòng)到RecordSet對象的第一對象的第一條記錄。條記錄。MoveLast:將指針移動(dòng)到最后一條數(shù)據(jù)記錄。:將指針移動(dòng)到最后一條數(shù)據(jù)記錄。MoveNext:將指針移動(dòng)到下一條數(shù)據(jù)記錄。:將指針移動(dòng)到下一條數(shù)據(jù)記錄。MovePrevious:將指針移動(dòng)到上一條數(shù)據(jù)記錄。:將指針移動(dòng)到

36、上一條數(shù)據(jù)記錄。Move:將指針移動(dòng)到指定位置。:將指針移動(dòng)到指定位置。 本章首頁本章首頁語法如下:語法如下:RecordSet.MoveFirstRecordSet.MoveLastRecordSet.MoveNextRecordSet.MovePreviousRecordSet.Move NumRecords,Start 4 4UpdateUpdate,CancelUpdateCancelUpdate,CancelBatchCancelBatch,UpdateBatchUpdateBatch這些方法是用來更新或取消更新的。這些方法是用來更新或取消更新的。UpdateUpdate:用于將:用

37、于將RecordSetRecordSet對象中當(dāng)前記錄對象中當(dāng)前記錄的修改保存到數(shù)據(jù)庫中。的修改保存到數(shù)據(jù)庫中。CancelUpdateCancelUpdate:取消在調(diào)用:取消在調(diào)用UpdateUpdate方法前所方法前所做的修改。做的修改。UpdateBatchUpdateBatch:進(jìn)行批次模式的更新數(shù)據(jù)操:進(jìn)行批次模式的更新數(shù)據(jù)操作。作。CancelBatchCancelBatch:允許取消批次模式的更新數(shù):允許取消批次模式的更新數(shù)據(jù)操作。據(jù)操作。 語法如下:語法如下:RecordSet.UpdateRecordSet.CancelUpdateRecordSet.CancelBatch

38、RecordSet.UpdateBatch Affectrecords 5 5AddNewAddNew,DeleteDelete方法方法AddNewAddNew方法用來向數(shù)據(jù)庫中插入一條新記錄;方法用來向數(shù)據(jù)庫中插入一條新記錄;DeleteDelete方法用于從數(shù)據(jù)庫中刪除指定的記錄。語法:方法用于從數(shù)據(jù)庫中刪除指定的記錄。語法:RecordSet.AddNewRecordSet.Delete6 6NextRecordSetNextRecordSet方法方法NextRecordSetNextRecordSet方法允許清除當(dāng)前方法允許清除當(dāng)前RecordSetRecordSet對象,對象,并通過

39、提前執(zhí)行命令序列返回下一個(gè)記錄集,通常應(yīng)并通過提前執(zhí)行命令序列返回下一個(gè)記錄集,通常應(yīng)用于多重?cái)?shù)據(jù)查詢。語法如下:用于多重?cái)?shù)據(jù)查詢。語法如下:Set recordSet2 = recordSet1. NextRecordSet(RecordsAffected)參數(shù)參數(shù)recordSet2recordSet2是返回的是返回的RecordSetRecordSet對象。在語法對象。在語法模型中,模型中,recordSet1recordSet1和和recordSet2recordSet2可以是相同的可以是相同的RecordSetRecordSet對象,也可以使用不同的對象。對象,也可以使用不同的對象。

40、參數(shù)參數(shù)RecordsAffectedRecordsAffected為長整型變量,是數(shù)據(jù)庫服為長整型變量,是數(shù)據(jù)庫服務(wù)器返回的每次操作所得到的記錄數(shù)目。務(wù)器返回的每次操作所得到的記錄數(shù)目。 7 7RequeryRequery方法方法RequeryRequery方法用于重新運(yùn)行第一次創(chuàng)建的方法用于重新運(yùn)行第一次創(chuàng)建的RecordSetRecordSet命令或聲明,所有已存在命令或聲明,所有已存在RecordSetRecordSet對象內(nèi)的數(shù)據(jù)都會(huì)在執(zhí)行對象內(nèi)的數(shù)據(jù)都會(huì)在執(zhí)行RequeryRequery方法后被重新方法后被重新更新。調(diào)用該方法等于相繼調(diào)用更新。調(diào)用該方法等于相繼調(diào)用CloseClo

41、se和和OpenOpen方方法。語法如下:法。語法如下:recordSet.Requery OptionsOptionsOptions指定影響該操作選項(xiàng)的位屏蔽參數(shù)。指定影響該操作選項(xiàng)的位屏蔽參數(shù)。 8 8CloneClone方法方法CloneClone方法可以創(chuàng)建出多個(gè)方法可以創(chuàng)建出多個(gè)RecordSetRecordSet對象副本,這對象副本,這些完全相同的些完全相同的RecordSetRecordSet對象是共享數(shù)據(jù)服務(wù)器的內(nèi)對象是共享數(shù)據(jù)服務(wù)器的內(nèi)部快照數(shù)據(jù),也就是說內(nèi)容相同。語法如下:部快照數(shù)據(jù),也就是說內(nèi)容相同。語法如下:Set NewRecordSet=RecordSet.clon

42、e(LockTypeSet NewRecordSet=RecordSet.clone(LockType) ) 其中其中LockTypeLockType用于指定原始用于指定原始RecordSetRecordSet的鎖定類型的鎖定類型或只讀或只讀RecordSetRecordSet。9 9GetRowsGetRows方法方法GetRowsGetRows方法可以取得多條記錄。方法可以取得多條記錄。語法如下:語法如下:Array=recordSet.GetRowsArray=recordSet.GetRows(Rows,Start,Fields)(Rows,Start,Fields)RowsRows:

43、用于指定要檢索的記錄數(shù)。:用于指定要檢索的記錄數(shù)。StartStart:指定被取回到數(shù)組的數(shù)據(jù)記錄的起始行,:指定被取回到數(shù)組的數(shù)據(jù)記錄的起始行,默認(rèn)值為當(dāng)前記錄。默認(rèn)值為當(dāng)前記錄。FieldsFields用于指定被取回到數(shù)組的數(shù)據(jù)字段,可以用于指定被取回到數(shù)組的數(shù)據(jù)字段,可以是單一的字段名稱、數(shù)字索引或多個(gè)字段構(gòu)成的數(shù)是單一的字段名稱、數(shù)字索引或多個(gè)字段構(gòu)成的數(shù)組,默認(rèn)值為取回所有字段的數(shù)據(jù)。組,默認(rèn)值為取回所有字段的數(shù)據(jù)。1010其他方法其他方法其他方法,如其他方法,如ResyncResync用來設(shè)置與數(shù)據(jù)庫服務(wù)器同用來設(shè)置與數(shù)據(jù)庫服務(wù)器同步的更新模式;步的更新模式;SupportsSup

44、ports方法可以用來判別方法可以用來判別RecordSetRecordSet對象支持的功能。語法如下:對象支持的功能。語法如下:RecordSet.Resync AffectRecordsBoolean value= RecordSet.Supports (CursorOptions)ResyncResync方法的參數(shù)方法的參數(shù)AffectRecordsAffectRecords表示進(jìn)行數(shù)據(jù)更表示進(jìn)行數(shù)據(jù)更新的條件;新的條件;SupportsSupports方法的參數(shù)方法的參數(shù)CursorOptionsCursorOptions表示表示可支持的功能。可支持的功能。本章首頁本章首頁11.4.2

45、 11.4.2 RecordSetRecordSet對象的屬性對象的屬性1 1ActiveConnectionActiveConnection屬性:屬性:用于指定用于指定ConnectionConnection對象名稱或是一串包含對象名稱或是一串包含“數(shù)據(jù)庫連接信息數(shù)據(jù)庫連接信息(ConnectStringConnectString)”的字符串,方便的字符串,方便RecordSetRecordSet對象對象完成數(shù)據(jù)庫連接的前置動(dòng)作。語法如下:完成數(shù)據(jù)庫連接的前置動(dòng)作。語法如下:RecordSet. ActiveConnection=ActiveConnectionValueRecordSet.

46、 ActiveConnection=ActiveConnectionValue2 2SourceSource屬性屬性SourceSource屬性用于設(shè)置或返回一個(gè)字符串,指定記錄屬性用于設(shè)置或返回一個(gè)字符串,指定記錄集中數(shù)據(jù)的來源。包含存儲(chǔ)過程名、表名、集中數(shù)據(jù)的來源。包含存儲(chǔ)過程名、表名、SQLSQL語句語句或?yàn)榛驗(yàn)镽ecordSetRecordSet提供記錄集合的提供記錄集合的CommandCommand對象。語法如對象。語法如下:下:RecordSetRecordSet. Source = Source . Source = Source 3 3CursorLocationCursorL

47、ocation,BookmarkBookmark屬性屬性CursorLocationCursorLocation屬性用來設(shè)置指針處理的位置,屬性用來設(shè)置指針處理的位置,語法:語法:RecordSet. CursorLocation =CursorLocationTypeBookmarkBookmark屬性可以記錄當(dāng)前數(shù)據(jù)指針位置。當(dāng)創(chuàng)屬性可以記錄當(dāng)前數(shù)據(jù)指針位置。當(dāng)創(chuàng)建一個(gè)允許使用建一個(gè)允許使用BookmarkBookmark屬性的屬性的RecordSetRecordSet對象時(shí),對象時(shí),可以利用可以利用BookmarkBookmark快速定位記錄。步驟如下:快速定位記錄。步驟如下:先移動(dòng)到那

48、條記錄,利用先移動(dòng)到那條記錄,利用BookmarkBookmark屬性設(shè)置一個(gè)屬性設(shè)置一個(gè)名稱,即書簽記號(hào)的名稱,當(dāng)要回到該條記錄時(shí),名稱,即書簽記號(hào)的名稱,當(dāng)要回到該條記錄時(shí),將將BookmarkBookmark屬性重新設(shè)為所設(shè)定書簽記號(hào)的名稱即屬性重新設(shè)為所設(shè)定書簽記號(hào)的名稱即可??伞?4 4CursorTypeCursorType屬性屬性CursorTypeCursorType屬性指示在屬性指示在RecordSetRecordSet對象中使用的對象中使用的游標(biāo)類型,其取值見表游標(biāo)類型,其取值見表11-611-6。語法如下:。語法如下:RecordSet. CurSorType= CurS

49、orTypeValue5 5LockTypeLockType屬性屬性LockTypeLockType屬性可指定打開屬性可指定打開RecordSetRecordSet對象時(shí)服務(wù)對象時(shí)服務(wù)器應(yīng)該使用的鎖定類型,讀取該屬性可返回在打開器應(yīng)該使用的鎖定類型,讀取該屬性可返回在打開的的RecordSetRecordSet對象上正在使用的鎖定類型??梢栽O(shè)對象上正在使用的鎖定類型??梢栽O(shè)置或返回表置或返回表11-711-7的值。語法如下:的值。語法如下:RecordSet. LockType = LockTypeValue 本章首頁本章首頁6 6RecordCountRecordCount,MaxRecor

50、dsMaxRecords,CacheSizeCacheSize屬性屬性RecordCountRecordCount屬性可確定屬性可確定 RecordSet RecordSet 對象中記錄對象中記錄的數(shù)目,當(dāng)?shù)臄?shù)目,當(dāng)ADOADO無法確定記錄數(shù)時(shí),或者無法確定記錄數(shù)時(shí),或者DBMSDBMS或游標(biāo)或游標(biāo)類型不支持類型不支持RecordCountRecordCount,則該屬性返回,則該屬性返回-1-1。語法:。語法:LongInt = RecordSet. RecordCount前向游標(biāo)打開的記錄集不能使用前向游標(biāo)打開的記錄集不能使用RecordCountRecordCount屬性。屬性。7 7B

51、OFBOF,EOFEOF屬性屬性BOFBOF(Begin Of FileBegin Of File)屬性用來判斷當(dāng)前記錄位)屬性用來判斷當(dāng)前記錄位置是否位于置是否位于RecordSetRecordSet對象的第一個(gè)記錄之前。對象的第一個(gè)記錄之前。EOFEOF(End Of FileEnd Of File)用來判斷當(dāng)前記錄位置是否位于)用來判斷當(dāng)前記錄位置是否位于RecordSetRecordSet對象的最后一個(gè)記錄之后。對象的最后一個(gè)記錄之后。 本章首頁本章首頁8 8PageSizePageSize,PageCountPageCount,AbsolutePageAbsolutePage,Abs

52、olutePositionAbsolutePosition屬性屬性PageSizePageSize屬性用來設(shè)置屬性用來設(shè)置RecordSetRecordSet對象內(nèi)每一個(gè)邏輯對象內(nèi)每一個(gè)邏輯頁的記錄條數(shù)。頁的記錄條數(shù)。PageCountPageCount用來返回用來返回RecordSetRecordSet對象的邏輯頁數(shù)。對象的邏輯頁數(shù)。 AbsolutePageAbsolutePage屬性用來取得當(dāng)前數(shù)據(jù)游標(biāo)在屬性用來取得當(dāng)前數(shù)據(jù)游標(biāo)在RecordSetRecordSet對象中的絕對頁數(shù)。對象中的絕對頁數(shù)。AbsolutePositionAbsolutePosition屬性用來取得當(dāng)前游標(biāo)在屬

53、性用來取得當(dāng)前游標(biāo)在RecordSetRecordSet對象記錄的絕對位置。對象記錄的絕對位置。 本章首頁本章首頁9 9EditModeEditMode屬性屬性EditModeEditMode屬性用于指示當(dāng)前記錄的編輯狀態(tài)。語屬性用于指示當(dāng)前記錄的編輯狀態(tài)。語法如下:法如下:Int = RecordSet. EditModeInt = RecordSet. EditMode1010FilterFilter屬性屬性FilterFilter屬性用來控制屬性用來控制RecordSetRecordSet對象的數(shù)據(jù)顯示對象的數(shù)據(jù)顯示方式,即指定篩選條件。語法如下:方式,即指定篩選條件。語法如下:Reco

54、rdSet. Filter = FilterVariant或或FilterVariant = RecordSet. Filter 本章首頁本章首頁1111StateState,StatusStatus屬性屬性StateState屬性與屬性與ConnectionConnection對象的對象的StateState屬性類似,屬性類似,不同之處在于不同之處在于RecordSetRecordSet對象的對象的StateState屬性是用來取屬性是用來取得得RecordSetRecordSet對象的狀態(tài),而對象的狀態(tài),而ConnectionConnection對象的對象的StateState屬性是取得屬

55、性是取得ConnectionConnection對象的狀態(tài)。語法如對象的狀態(tài)。語法如下:下:RecordSet. State = StateValueStatusStatus屬性用來表示當(dāng)前記錄的處理狀態(tài)。使用屬性用來表示當(dāng)前記錄的處理狀態(tài)。使用StatusStatus屬性可以查看與批量更新或其他大量操作時(shí)屬性可以查看與批量更新或其他大量操作時(shí)的的RecordSetRecordSet對象的當(dāng)前狀態(tài)。語法如下:對象的當(dāng)前狀態(tài)。語法如下:RecordSet. Status = StatusValue 本章首頁本章首頁11.4.3 RecordSet11.4.3 RecordSet對象數(shù)據(jù)集合對象數(shù)

56、據(jù)集合RecordSetRecordSet對象的數(shù)據(jù)集合包括對象的數(shù)據(jù)集合包括FieldsFields數(shù)據(jù)集合數(shù)據(jù)集合和和PropertiesProperties數(shù)據(jù)集合。數(shù)據(jù)集合。FieldsFields數(shù)據(jù)集合中包括數(shù)據(jù)集合中包括RecordSetRecordSet對象的所有對象的所有FieldField數(shù)據(jù)字段對象;數(shù)據(jù)字段對象;PropertiesProperties數(shù)據(jù)集合包含數(shù)據(jù)集合包含RecordSetRecordSet對象的所有屬對象的所有屬性。性。本章首頁本章首頁 每個(gè)每個(gè)FieldField對象對應(yīng)于對象對應(yīng)于RecordSetRecordSet中的一列,中的一列,由多個(gè)由

57、多個(gè)FieldField對象可以構(gòu)成對象可以構(gòu)成FieldsFields數(shù)據(jù)集合。數(shù)據(jù)集合。使用使用FieldField對象的對象的ValueValue屬性可設(shè)置或取得當(dāng)屬性可設(shè)置或取得當(dāng)前記錄的數(shù)據(jù)。前記錄的數(shù)據(jù)。 本章首頁本章首頁11.5.1 Fields數(shù)據(jù)集合數(shù)據(jù)集合FieldsFields數(shù)據(jù)集合提供的方法和屬性包括數(shù)據(jù)集合提供的方法和屬性包括CountCount屬屬性(用來取得性(用來取得FieldsFields數(shù)據(jù)集合中所包含的數(shù)據(jù)集合中所包含的FieldField對對象的數(shù)目。)、象的數(shù)目。)、RefreshRefresh方法(用于刷新記錄,可方法(用于刷新記錄,可以重新取得以

58、重新取得FieldsFields數(shù)據(jù)集合中所包含的數(shù)據(jù)集合中所包含的FieldField對對象。)和象。)和ItemItem方法(用于利用方法(用于利用FieldField對象的索引值對象的索引值(IndexIndex)得到某一個(gè))得到某一個(gè)FieldField對象,這個(gè)索引值通常對象,這個(gè)索引值通常介于介于0 0到到CountCount屬性值屬性值- -1 1之間。)。之間。)。本章首頁本章首頁語法如下:語法如下:Set Fields = RecordSet.FieldLongInt = Fields.countFields.RefreshSet Field = Fields.Item(In

59、dex)或或Set Field = Fields(Index) 11.5.2 Field11.5.2 Field對象的屬性對象的屬性FieldField對象包括對象包括NameName,ValueValue,TypeType,AttributeAttribute,NumericScaleNumericScale,PrecisionPrecision,ActualSizeActualSize,DefinedSizeDefinedSize,OriginalValueOriginalValue和和UnderlyingValueUnderlyingValue等屬性。等屬性。本章首頁本章首頁語法如下:語

60、法如下:String = Field.NameVariant = Field.ValueDataType = Field.TypeLongInt = Filed.AttributesByte = Field.NumericScaleByte = Field.PrecisionLong = Field.ActualSizeLong = Field.DefinedSizeVariant = Field.DefinedSizeVariant = Field.OriginalValueVariant = Field.UnderlyingValue 11.5.3 Field11.5.3 Field對象的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論