第11章ADO對象課件_第1頁
第11章ADO對象課件_第2頁
第11章ADO對象課件_第3頁
第11章ADO對象課件_第4頁
第11章ADO對象課件_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第11章

ADO對象11.1ADO概述11.2Connection對象11.3Command對象11.4RecordSet對象11.5Fields數(shù)據(jù)集合和Field對象11.6Properties數(shù)據(jù)集合和Property對象11.7Parameters數(shù)據(jù)集合與Parameter對象11.8Errors數(shù)據(jù)集合和Error對象本章學(xué)習(xí)目標(biāo)l

ADO中各個(gè)對象、數(shù)據(jù)集合間的關(guān)系l

Connection對象的方法和屬性l

Command對象的方法和屬性l

RecordSet對象的方法和屬性l

Fields數(shù)據(jù)集合和Field對象的方法和屬性l

Properties數(shù)據(jù)集合和Property對象的方法和屬性l

Parameters數(shù)據(jù)集合與Parameter對象的方法和屬性l

Errors數(shù)據(jù)集合和Error對象的方法和屬性11.1ADO概述11.1.1ADO的七個(gè)對象11.1.2ADO的四個(gè)數(shù)據(jù)集合11.1.3ADO對象與數(shù)據(jù)集合之間的關(guān)系返回首頁11.1.1ADO的七個(gè)對象(1)Connection對象用于創(chuàng)建ASP腳本和指定數(shù)據(jù)庫的連接。

(2)Command對象負(fù)責(zé)對數(shù)據(jù)庫提供請求,也就是傳遞指定的SQL命令。

(3)Parameter對象負(fù)責(zé)傳遞Command對象所需要的SQL命令參數(shù)。

(4)RecordSet對象負(fù)責(zé)瀏覽與操作從數(shù)據(jù)庫中取得的數(shù)據(jù),也就是說RecordSet對象可以用來表示來自基本表或命令執(zhí)行結(jié)果的記錄全集。(5)Field對象表示指定RecordSet對象的數(shù)據(jù)字段。

(6)Property對象表示ADO的各項(xiàng)對象屬性值,每個(gè)ADO對象都會(huì)有一個(gè)描述或控制對象行的屬性。(7)Error對象負(fù)責(zé)記錄連接過程中所有發(fā)生的錯(cuò)誤信息,任何涉及ADO對象的操作都會(huì)生成一個(gè)或多個(gè)提供者錯(cuò)誤。

返回本節(jié)11.1.2ADO的四個(gè)數(shù)據(jù)集合(1)Fields數(shù)據(jù)集合。

(2)Properties數(shù)據(jù)集合。(3)Parameters數(shù)據(jù)集合。

(4)Errors數(shù)據(jù)集合。

返回本節(jié)11.1.3ADO對象與數(shù)據(jù)集合之間的關(guān)系A(chǔ)DO的7個(gè)對象和4個(gè)數(shù)據(jù)集合之間的關(guān)系如下圖11-1所示。

返回本節(jié)11.2Connection對象11.2.1Connection對象的方法11.2.2Connection對象的屬性11.2.3Connection對象的數(shù)據(jù)集合返回首頁11.2.1Connection對象的方法1.Open方法Connection對象的Open方法負(fù)責(zé)創(chuàng)建與數(shù)據(jù)源的連接,語法如下:connection.OpenConnectionString,UserID,Password(1)通過ODBC連接。

(2)通過OLEDB連接。

數(shù)據(jù)庫種類ODBC驅(qū)動(dòng)程序名稱MSAccess

DatabaseMicrosoftAccessDriver(*.mdb)DBASEFilesMicrosoftdBaseDriver(*.dbf)VisualFoxProDatabaseMicrosoftVisualFoxProDriver文本文件MicrosoftTextDriver(*.txt)MicrosoftSQLServerSQLServerOracleDatabaseServerMicrosoftODBCForOracleMicrosoftFoxProMicrosoftFoxProDriver(*.dbf)表11-1常用的ODBC驅(qū)動(dòng)程序設(shè)置字符串例11-1:<%'利用Server對象的CreateObject方法建立Connect對象Setconn=Server.CreateObject("ADODB.Connection")'打開數(shù)據(jù)庫,建立連接。DSN表示在控制面板設(shè)置的DSN名稱'UID表示用戶帳號,PWD表示密碼,Database指定數(shù)據(jù)庫conn.Open"DSN=txl;UID=sa;PWD=;Database=txl"Response.Write"連接成功!<BR>"'斷開連接Setconn=nothingResponse.Write"斷開連接!"%>例11-2:<%Setconn=Server.CreateObject("ADODB.Connection")'設(shè)置連接字符串。Driver表示數(shù)據(jù)庫的驅(qū)動(dòng)程序,DBQ表示數(shù)據(jù)庫的位置。UID表示用戶帳號,PWD表示密碼strProvider="Driver={SQLServer};DBQ="&_

Server.MapPath("\")&"\dagl.mdb;UID=sa;PWD=;"'打開數(shù)據(jù)庫,建立連接。conn.Open

strProviderResponse.Write"連接成功!<BR>"'斷開連接Setconn=nothingResponse.Write"斷開連接!"%>2.Execute方法Execute方法是執(zhí)行指定的查詢、SQL語句、存儲(chǔ)過程或特定提供者的文本等內(nèi)容,語法如下:對于沒有返回結(jié)果的命令格式:connection.ExecuteCommandText,RecordsAffected,Options對于有返回結(jié)果的命令格式:SetrecordSet=connection.Execute(CommandText,RecordsAffected,Options)該方法返回一個(gè)RecordSet對象。常量說明AdCmdText指示被執(zhí)行的字符串包含一個(gè)命令文本AdCmdTable指示被執(zhí)行的字符串包含一個(gè)表的名字AdCmdStoredProc指示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過程名AdCmdUnknown指示CommandText參數(shù)中的命令類型未知(默認(rèn)值)表11-2Execute方法的Options參數(shù)例11-3:<!--#includefile="adovbs.inc"--><%'利用Server對象的CreateObject方法建立Connect對象。Setconn=Server.CreateObject("ADODB.Connection")'打開連接數(shù)據(jù)庫strProvider="Driver={SQLServer};Server=zjf;Database=txl;UID=sa;PWD=;"conn.Open

strProvider

'修改表t_student中的數(shù)據(jù)。Commandtext="Updatet_studentSett_score=85Wheret_name='趙二'"conn.Execute

commandtext,recordsAffected,adcmdtext'顯示執(zhí)行命令時(shí)影響的記錄數(shù)Response.WriterecordsAffectedSetconn=nothing%>例11-4:<!--#includevirtual="adovbs.inc"--><%'利用Server對象的CreateObject方法建立Connect對象。Setconn=Server.CreateObject("ADODB.Connection")'打開連接數(shù)據(jù)庫strProvider="Provider=sqloledb;DataSource=zjf;InitialCatalog=txl;UserID=sa;Password=;"conn.Open

strProvider'建立查詢,下面表示選擇t_student表的所有項(xiàng)。Command="select*fromt_student"'執(zhí)行查詢。rs是RecordSet對象。Setrs=conn.Execute(command,recordsAffected,adcmdtext)'斷開連接Setconn=nothing%>3.Close方法使用Close方法可關(guān)閉Connection對象或RecordSet對象以便釋放所有關(guān)聯(lián)的系統(tǒng)資源。關(guān)閉對象并非將它從內(nèi)存中刪除,可以更改它的屬性設(shè)置并且在此后再次打開。要將對象從內(nèi)存中完全刪除,可將對象變量設(shè)置為Nothing。語法如下:Connection.close4.BeginTrans,CommitTrans和RollbackTrans方法其中BeginTrans表示開始新事務(wù);CommitTrans表示保存任何更改并結(jié)束當(dāng)前事務(wù),它也可能啟動(dòng)新事務(wù);RollbackTrans表示取消當(dāng)前事務(wù)中所作的任何更改并結(jié)束事務(wù),它也可能啟動(dòng)新事務(wù)。其語法如下:level=connetion.BeginTrans()connection.BeginTransconnection.CommitTransconnection.RollbackTransConnection對象事務(wù)處理的典型用法如下:<%'利用Server對象的CreateObject方法建立Connect對象。Setconn=Server.CreateObject("ADODB.Connection")'打開連接數(shù)據(jù)庫strProvider=...conn.Open

strProvider'開始一個(gè)新的事物conn.BeginTrans'執(zhí)行數(shù)據(jù)庫的操作conn.Execute...'判斷是否提交事物if...then

conn.CommitTranselse

conn.RollbackTransendif%>返回本節(jié)11.2.2Connection對象的屬性1.CommandTimeout屬性與ConnectionTimeout屬性2.ConnectionString屬性3.Provider屬性4.Mode屬性5.其他屬性例11-5:<%Setconn=Server.CreateObject("ADODB.Connection")'設(shè)置Provide屬性,該屬性可以用來管理Access數(shù)據(jù)庫conn.Provider="Microsoft.Jet.OLEDB.4.0"'利用ConnecString屬性的FileName參數(shù)conn.Open

Server.MapPath("dagl.mdb")%>參數(shù)值說明AdModeUnknown默認(rèn)值。表明權(quán)限尚未設(shè)置或無法確定AdModeRead表明權(quán)限為只讀AdModeWrite表明權(quán)限為只寫AdModeReadWrite表明權(quán)限為讀/寫AdModeShareDenyRead防止其他用戶使用讀權(quán)限打開連接AdModeShareDenyWrite防止其他用戶使用寫權(quán)限打開連接AdModeShareExclusive防止其他用戶打開連接AdModeShareDenyNone防止其他用戶使用任何權(quán)限打開連接表11-3Connection對象的Mode屬性返回本節(jié)11.2.3Connection對象的數(shù)據(jù)集合例11-6:<%Setconn=Server.CreateObject("ADODB.Connection")conn.Provider="Microsoft.jet.oledb.4.0"conn.Open

Server.MapPath("dagl.mdb")'建立一個(gè)表,把屬性的結(jié)果保存到表中。Response.Write"<TABLEborder=3>"Response.Write"<TR><TD>相關(guān)屬性</TD>"Response.Write"<TD>屬性值</TD>"Response.Write"</TR>"'把屬性值填入表中。ForeachitemInpertiesResponse.Write"<TR><TD>"&&"</TD>"Response.Write"<TD>"&item.value&"</TD></TR>"NextResponse.Write"</TABLE>"Setconn=nothing%>圖11-2取得Connection對象的屬性值返回本節(jié)11.3Command對象11.3.1Command對象的屬性11.3.2Command對象的方法返回首頁11.3.1Command對象的屬性1.ActiveConnection屬性2.CommandText屬3.CommandType屬性4.CommandTimeout屬性5.State屬性6.Prepared屬性常量說明AdCmdText指定CommandText的類型為SQL命令A(yù)dCmdTable指定CommandText的類型為數(shù)據(jù)庫表的名稱AdCmdStoredProc指定CommandText的類型為存儲(chǔ)過程名稱AdCmdUnknown默認(rèn)值。CommandText屬性中的命令類型未知表11-4Command對象的CommandType屬性返回本節(jié)11.3.2Command對象的方法1.CreateParamete方法該方法可以創(chuàng)建新的Parameter對象。使用CreateParameter方法指定參數(shù)名稱、類型、方向、大小和值,創(chuàng)建新的Parameter對象,在參數(shù)中傳送的所有值都將寫入相應(yīng)的

Parameter屬性。其語法如下:Setparameter=command.CreateParameter(Name,Type,Direction,Size,Value)`常量參數(shù)值說明AdParamUnknown0指示參數(shù)方向未知AdParamInput1默認(rèn)值。指示輸入?yún)?shù)AdParamOutput2指示輸出參數(shù)AdParamInputOutput3指示輸入/輸出參數(shù)AdParamReturnValue4指示返回值表11-5Direction參數(shù)的取值2.Execute方法該方法與Connection對象的Execute方法相似,都是負(fù)責(zé)運(yùn)行指定的SQL命令或存儲(chǔ)過程。語法如下:有返回結(jié)果的語法:SetrecordSet=command.Execute(RecordsAffected,Parameters,Options)沒有返回的的語法:command.ExecuteRecordsAffected,Parameters,Options返回本節(jié)11.4RecordSet對象11.4.1RecordSet對象的方法11.4.2RecordSet對象的屬性11.4.3RecordSet對象數(shù)據(jù)集合返回首頁11.4.1RecordSet對象的方法1.Open方法使用Open方法可以打開代表數(shù)據(jù)表、查詢結(jié)果或者以前保存的RecordSet中記錄的游標(biāo)(指向數(shù)據(jù)庫數(shù)據(jù)的位置,即指針),也就是說可以與數(shù)據(jù)庫建立連接。語法如下:recordSet.OpenSource,ActiveConnection,CursorType,LockType,Options常量參數(shù)值說明AdOpenForwardOnly0使用前向類型游標(biāo),只能在記錄集中向前移動(dòng)(默認(rèn)值)AdOpenKeySet1使用鍵集類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。如果其他用戶刪除或改變了某條記錄,記錄集中將反映這個(gè)變化。但是,如果其他用戶添加了一條新記錄,新記錄將不會(huì)出現(xiàn)在記錄集中AdOpenDynamic2使用動(dòng)態(tài)類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。對于其他用戶造成的任何記錄的變化都將在記錄集中有所反映AdOpenStatic3使用靜態(tài)類型游標(biāo),可以在記錄集中向前或向后移動(dòng)。不會(huì)對其他用戶造成的任何記錄的變化有所反映表11-6RecordSet對象的CursorType參數(shù)常量參數(shù)值說明AdLockReadOnly0只讀。不能改變數(shù)據(jù)(默認(rèn)值)。AdLockPessimistic1保守式鎖定(逐個(gè))。指定在編輯一個(gè)記錄時(shí)立即鎖定它。AdLockOptimistic2開放式鎖定(逐個(gè))。數(shù)據(jù)庫使用開放式鎖定,只在調(diào)用Update方法時(shí)才鎖定記錄AdLockBatchOptimistic3開放式批更新。用于批更新模式。表11-7RecordSet對象的LockType參數(shù)常量參數(shù)值說明AdCmdUnknown-1指示Source參數(shù)中的命令類型為未知AdCmdText1指示被執(zhí)行的字符串包含一個(gè)命令文本AdCmdTable2指示被執(zhí)行的字符串包含一個(gè)表的名字AdCmdStoredProc3指示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過程名表11-8RecordSet對象的Options參數(shù)2.Close方法Close方法用來關(guān)閉所指定的RecordSet對象,語法如下:RecordSet.Close

3.MoveFirst,MoveLast,MoveNext,MovePrevious,Move方法這些方法都是用來移動(dòng)記錄指針的,通過使用這些方法可以根據(jù)實(shí)際情況方便地將記錄指針移動(dòng)到所要的位置。l

MoveFirst:將指針移動(dòng)到RecordSet對象的第一條記錄。l

MoveLast:將指針移動(dòng)到最后一條數(shù)據(jù)記錄。l

MoveNext:將指針移動(dòng)到下一條數(shù)據(jù)記錄。l

MovePrevious:將指針移動(dòng)到上一條數(shù)據(jù)記錄。l

Move:將指針移動(dòng)到指定位置。

常量常數(shù)值說明AdBookmarkCurrent0默認(rèn)。從當(dāng)前記錄開始AdBookmarkFirst1從首記錄開始AdBookmarkLast2從尾記錄開始表11-9RecordSet對象的Move方法4.Update,CancelUpdate,CancelBatch,UpdateBatch方法這些方法是用來更新或取消更新的,其中:l

Update:用于將RecordSet對象中當(dāng)前記錄的修改保存到數(shù)據(jù)庫中。l

CancelUpdate:取消在調(diào)用Update方法前所做的修改。l

UpdateBatch:進(jìn)行批次模式的更新數(shù)據(jù)操作。l

CancelBatch:允許取消批次模式的更新數(shù)據(jù)操作。常量常數(shù)值說明AdAffectCurrent1表示只對當(dāng)前記錄指針位置的數(shù)據(jù)執(zhí)行更新操作AdAffectGroup2表示只對符合Filter屬性的數(shù)據(jù)執(zhí)行更新操作注意必須將Filter屬性設(shè)置為某個(gè)有效的預(yù)定義常量才能使用該選項(xiàng)AdAffectAll3表示對當(dāng)前RecordSet對象內(nèi)中所有已修改的數(shù)據(jù)執(zhí)行更新操作(默認(rèn)值)表11-10RecordSet對象的Affectrecords參數(shù)5.AddNew,Delete方法AddNew方法用來向數(shù)據(jù)庫中插入一條新記錄;Delete方法用于從數(shù)據(jù)庫中刪除指定的記錄。語法如下:RecordSet.AddNewRecordSet.Delete6.NextRecordSet方法NextRecordSet方法允許清除當(dāng)前RecordSet對象,并通過提前執(zhí)行命令序列返回下一個(gè)記錄集,通常應(yīng)用于多重?cái)?shù)據(jù)查詢。語法如下:SetrecordSet2=recordSet1.NextRecordSet(RecordsAffected)7.Requery方法Requery方法用于重新運(yùn)行第一次創(chuàng)建的RecordSet命令或聲明,所有已存在RecordSet對象內(nèi)的數(shù)據(jù)都會(huì)在執(zhí)行Requery方法后被重新更新。調(diào)用該方法等于相繼調(diào)用Close和Open方法。語法如下:recordSet.RequeryOptions8.Clone方法Clone方法可以創(chuàng)建出多個(gè)RecordSet對象副本,這些完全相同的RecordSet對象是共享數(shù)據(jù)服務(wù)器的內(nèi)部快照數(shù)據(jù),也就是說內(nèi)容相同。這對于希望在給定的記錄集中保留多個(gè)當(dāng)前記錄是十分有用。Clone方法的使用與初始定義相同,但比定義創(chuàng)建和打開新RecordSet對象要有效得多,新創(chuàng)建副本的當(dāng)前記錄將設(shè)置為首記錄。常量說明AdLockUnspecIfied使用與原始類型相同的鎖定類型創(chuàng)建副本(默認(rèn)值)AdLockReadOnly副本創(chuàng)建為只讀表11-11LockType參數(shù)9.GetRows方法GetRows方法可以取得多條記錄。使用GetRows方法可將記錄從RecordSet復(fù)制到二維數(shù)組中,第一個(gè)下標(biāo)標(biāo)識字段,第二個(gè)下標(biāo)則標(biāo)識記錄號。當(dāng)GetRows方法返回?cái)?shù)據(jù)時(shí),數(shù)組變量將自動(dòng)調(diào)整到正確大小。語法如下:Array=recordSet.GetRows(Rows,Start,Fields)常量說明AdBookmarkCurrent從當(dāng)前記錄開始AdBookmarkFirst從首記錄開始AdBookmarkLast從尾記錄開始表11-12Start參數(shù)的取值10.其他方法其他方法,如Resync用來設(shè)置與數(shù)據(jù)庫服務(wù)器同步的更新模式;Supports方法可以用來判別RecordSet對象支持的功能。語法如下:RecordSet.Resync

AffectRecordsBooleanvalue=RecordSet.Supports(CursorOptions)Resync方法的參數(shù)AffectRecords表示進(jìn)行數(shù)據(jù)更新的條件;Supports方法的參數(shù)CursorOptions表示可支持的功能。返回本節(jié)11.4.2RecordSet對象的屬性1.ActiveConnection屬性2.Source屬性3.CursorLocation,Bookmark屬性4.CursorType屬性5.LockType屬性6.RecordCount,MaxRecords,CacheSize屬性7.BOF,EOF屬性8.PageSize,PageCount,AbsolutePage,AbsolutePosition屬性9.EditMode屬性10.Filter屬性11.State,Status屬性例11-11:<!--#includevirtual="adovbs.inc"--><%'建立Connect對象Setconn=Server.CreateObject("ADODB.Connection")'打開數(shù)據(jù)庫,建立連接strProvider="Provider=sqloledb;DataSource=zjf;InitialCatalog=txl;UserID=sa;Password=;"conn.Open

strProvider'建立RecordSet對象,啟動(dòng)指定的數(shù)據(jù)表Setrs=Server.CreateObject("ADODB.RecordSet")rs.Open"t_student",conn,adOpenKeySet,adLockOptimistic'輸出記錄總數(shù)Response.Writers.Recordcount'斷開連接rs.CloseSetconn=nothing%>常量常數(shù)值說明AdPosUnknown-1為空,當(dāng)前位置未知,或者提供者不支持AbsolutePage

屬性AdPosBOF-2當(dāng)前記錄指針位于BOF,即BOF屬性為TrueAdPosEOF-3當(dāng)前記錄指針位于EOF,即EOF屬性為True表11-13AbsolutePage屬性和AbsolutePosition屬性的特殊取值常量參數(shù)值說明AdEditNone0指示當(dāng)前沒有編輯操作AdEditInProgress1指示當(dāng)前記錄中的數(shù)據(jù)已被修改但未保存AdEditAdd2指示AddNew方法已被調(diào)用,且復(fù)制緩沖區(qū)中的當(dāng)前記錄是尚未保存到數(shù)據(jù)庫中的新記錄AdEditDelete3指示當(dāng)前記錄已被刪除表11-14EditMode屬性的取值常數(shù)參數(shù)值說明AdFilterNone0刪除當(dāng)前篩選條件并恢復(fù)查看的所有記錄AdFilterPendingRecords1允許只查看已更改且尚未發(fā)送到服務(wù)器的記錄。只能應(yīng)用于批更新模式AdFilterAffectedRecords2允許只查看上一次Delete,Resync,UpdateBatch或CancelBatch調(diào)用所影響的記錄AdFilterFetchedRecords3允許查看當(dāng)前緩沖區(qū)中的記錄,即上一次從數(shù)據(jù)庫中檢索記錄的調(diào)用結(jié)果AdFilterConflictingRecords4允許查看在上一次批更新中失敗的記錄表11-15Filter屬性的取值返回本節(jié)11.4.3RecordSet對象數(shù)據(jù)集合RecordSet對象的數(shù)據(jù)集合包括Fields數(shù)據(jù)集合和Properties數(shù)據(jù)集合。Fields數(shù)據(jù)集合中包括RecordSet對象的所有Field數(shù)據(jù)字段對象;Properties數(shù)據(jù)集合包含RecordSet對象的所有屬性。關(guān)于數(shù)據(jù)集合的內(nèi)容將在后面介紹。返回本節(jié)11.5Fields數(shù)據(jù)集合和Field對象11.5.1Fields數(shù)據(jù)集合11.5.2Field對象的屬性11.5.3Field對象的方法返回首頁11.5.1Fields數(shù)據(jù)集合Fields數(shù)據(jù)集合提供的方法和屬性包括Count屬性、Refresh方法和Item方法,其中:l

Count屬性用來取得Fields數(shù)據(jù)集合中所包含的Field對象的數(shù)目。l

Refresh方法用于刷新記錄,可以重新取得Fields數(shù)據(jù)集合中所包含的Field對象。l

Item方法用于利用Field對象的索引值(Index)得到某一個(gè)Field對象,這個(gè)索引值通常介于0到Count屬性值-1之間。返回本節(jié)11.5.2Field對象的屬性l

Name屬性表示對象屬性的名稱。l

Value屬性表示對象屬性的屬性值。l

Type屬性表示對象屬性的數(shù)據(jù)類型。l

Attribute屬性表示對象的特性。l

NumericScale屬性表示數(shù)據(jù)字段允許存儲(chǔ)的數(shù)字個(gè)數(shù)。l

Precision屬性表示數(shù)據(jù)字段所允許的最大數(shù)字。l

ActualSize屬性表示數(shù)據(jù)字段的數(shù)據(jù)長度。l

DefinedSize屬性表示數(shù)據(jù)字段在數(shù)據(jù)庫中所定義的長度。l

OriginalValue屬性表示數(shù)據(jù)字段是從第一次啟動(dòng)或是在調(diào)用Update方法前的值。l

UnderlyingValue屬性表示數(shù)據(jù)庫中Field對象的當(dāng)前值。語法如下:String=Field.NameVariant=Field.ValueDataType=Field.TypeLongInt=Filed.AttributesByte=Field.NumericScaleByte=Field.PrecisionLong=Field.ActualSizeLong=Field.DefinedSizeVariant=Field.DefinedSizeVariant=Field.OriginalValueVariant=Field.UnderlyingValue返回本節(jié)11.5.3Field對象的方法Field對象的方法包括AppendChunk,GetChunk等。AppendChunk方法和GetChunk方法是用來專門處理text,image等數(shù)據(jù)類型的,其中:AppendChunk方法用于將數(shù)據(jù)寫到數(shù)據(jù)庫中;GetChunk方法用于將數(shù)據(jù)從數(shù)據(jù)庫中取出。語法如下:Field.AppendChunkdataVariant=field.GetChunk(size)圖11-4Field對象各屬性返回本節(jié)11.6Properties數(shù)據(jù)集合和Property對象11.6.1Properties數(shù)據(jù)集合11.6.2Property對象返回首頁11.6.1Properties數(shù)據(jù)集合Properties數(shù)據(jù)集合是包含特定對象實(shí)例的所有Property對象,有時(shí)候也稱為Properties數(shù)據(jù)集合對象。包括Count屬性、Refresh方法和Item方法等。語法如下:LongInt=Properties.countProperties.RefreshSetProperty=Properties.Item(Index)或SetProperty=Properties(Index)返回本節(jié)11.6.2Property對象Property對象主要是用來記錄相應(yīng)ADO對象的每一項(xiàng)屬性值,包括Name,Value,Type和Attributes等屬性。語法如下:String=Property.NameVariant=Property.ValueDataType=Property.typeLongInt=Property.Attributes例11-14:<%Setconn=Server.CreateObject("ADODB.Connection")conn.Open"DSN=dagl;"'顯示屬性內(nèi)容Response.Write"<TABLEborder=3>"Response.Write"<TR><TD>Name屬性</TD>"Response.Write"<TD>Type屬性</TD>"Response.Write"<TD>Attributes屬性</TD>"Response.Write"<TD>Value屬性</TD></TR>"Fori=0Toperties.count-1

Response.Write"<TD>"&perties.item(i).type&"</TD>"Response.Write"<TD>"&perties(i).attributes&"</TD>"Response.Write"<TD>"&perties(i).value&"</TD></TR>"Next'斷開連接。Setconn=nothing%>運(yùn)行結(jié)果如圖11-5所示。圖11-5Connection對象各屬性返回本節(jié)11.7Parameters數(shù)據(jù)集合與Parameter對象11.7.1Parameters數(shù)據(jù)集合11.7.2

Parameter對象返回首頁11.7.1Parameters數(shù)據(jù)集合在Command對象中,有很多個(gè)Parameter子對象可以用來存儲(chǔ)參數(shù),這些Parameter對象都收集在Parameters集合中。該集合包括Count屬性、Append方法、Delete方法、Refresh方法和Item方法。語法如下:LongInt=Parameters.CountParameters.AppendParameterParameters.DeleteIndexParameters.RefreshSetParameter=Parameters.(Index)或SetParameter=Parameters.item(index)返回本節(jié)11.7.2Parameter對象Parameter對象負(fù)責(zé)記錄程序中要傳遞參數(shù)的相關(guān)屬性。Parameter對象提供了Name,Value,Type和Attribute等屬性。語法如下:String=Parameter.NameVariant=Parameter.ValueDataType=Parameter.TypeLongInt=Parameter.Attributes例11-15:<!--#includevirtual="adovbs.inc"--><%Setconn=Server.CreateObject("ADODB.Connection")strProvider="Provider=sqloledb;DataSource=zjf;InitialCatalog=txl;UserID=sa;Password=;"conn.Open

strProviderSetcomm=Server.CreateObject("ADODB.Command")comm.ActiveConnection=connmandtext="select*fromt_student"mandtype=adCmdTextcomm.prepared=True'建立Parameters集合Setparams=comm.parameters'建立一個(gè)Parameter對象Setparam=comm.CreateParameter("t_name",adVarChar,adParamInput,6,"張三")Params.Append

paramResponse.Write"Command對象有"¶ms.count&"個(gè)Parameter對象。<br>"comm.ExecuteResponse.Write"<TABLEborder=3>"Response.Write"<TR><TD>name屬性</TD>"Response.Write"<TD>type屬性</TD>"Response.Write"<TD>attributes屬性</TD>"Response.Write"<TD>value屬性</TD></TR>"'顯示Parameter對象的屬性值Fori=0ToParams.count-1Response.Write"<TR><TD>"¶ms(i).name&"</TD>"Response.Write"<TD>"¶ms(i).type&"</TD>"Response.Write"<TD>"¶ms(i).attributes&"</TD>"Response.Write"<TD>"¶ms(i).value&"</TD></TR>"NextResponse.Write"</TABLE>"Setconn=nothing%>運(yùn)行程序,如圖11-6所示。圖11-6Parameter對象屬性值返回本節(jié)11.8Errors數(shù)據(jù)集合和Error對象11.8.1Errors數(shù)據(jù)集合11.8.2Error對象返回首頁11.8.1Errors數(shù)據(jù)集合Errors數(shù)據(jù)集合,也稱Errors數(shù)據(jù)集合對象,包含在響應(yīng)涉及提供者的單個(gè)失敗時(shí)產(chǎn)生的所有Error對象。包括Count屬性、Clear方法和Item方法。語法如下:LongInt=Errors.CountErrors.clearSetErr=Errors.Item(Index)或SetErr=Errors(Index)返回本節(jié)11.8.2Error對象Error對象負(fù)責(zé)記錄存儲(chǔ)一個(gè)系統(tǒng)運(yùn)行時(shí)發(fā)生的錯(cuò)誤或警告。Error對象提供了Description,Number,Source,NativeErro,SQLState,HelpContext和HelpFile等屬性。語法如下:String=Error.DescriptionLongInt=Error.NumberString=Error.SourceLongInt=Error.NativeErrorString=Error.SQLStateString=Error.HelpContextString=Error.HelpFile名稱取值含義AdErrBoundToCommand3707表示

溫馨提示

  • 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

提交評論