版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第13章 使用ADO訪問數(shù)據(jù)庫(kù),13.1 ASP與ADO 13.2 建 立 連 接 13.3 Recordset對(duì)象 13.4 Command對(duì)象,ASP提供了強(qiáng)大的訪問數(shù)據(jù)庫(kù)的功能。用ASP訪問數(shù)據(jù)庫(kù)所使用的是ADO(ActiveX Data Objects)組件。 使用ADO編寫的ASP程序,不僅能夠訪問Access數(shù)據(jù)庫(kù),能夠訪問包括Oracle、MS SQL Server、Sybase等支持OLE DB、ODBC的數(shù)據(jù)庫(kù)。,13.1 ASP與ADO,13.1.1 ASP與數(shù)據(jù)庫(kù) 通過ADO對(duì)象,ASP可以訪問Oracle、Sybase、MS SQL Server、Access、FoxP
2、ro等各種支持ODBC或OLEDB的數(shù)據(jù)庫(kù)。也就是說,只要具有某種數(shù)據(jù)庫(kù)的ODBC或OLEDB驅(qū)動(dòng)程序,就可以通過ADO訪問數(shù)據(jù)庫(kù)。ASP、ADO、OLEDB及各種數(shù)據(jù)庫(kù)之間的關(guān)系如圖13-1所示。,13.1.2 ADO的概念和結(jié)構(gòu) ODBC(Open Database Connectivity)是微軟公司開發(fā)的一套開放數(shù)據(jù)庫(kù)應(yīng)用程序的接口規(guī)范,是廣泛使用的數(shù)據(jù)庫(kù)接口。使用ODBC開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序的方法是建立ODBC 數(shù)據(jù)源,通過ODBC接口函數(shù),提交SQL語句并接收?qǐng)?zhí)行SQL命令的結(jié)果。數(shù)據(jù)庫(kù)的底層操作由各個(gè)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序完成。,OLE DB是以ActiveX技術(shù)為基礎(chǔ)的數(shù)據(jù)訪問技術(shù)標(biāo)準(zhǔn)
3、。OLE DB基于組件模型;可以訪問多種格式的數(shù)據(jù),包括數(shù)據(jù)庫(kù)的數(shù)據(jù)和非數(shù)據(jù)庫(kù)的數(shù)據(jù)。OLE DB標(biāo)準(zhǔn)的具體實(shí)現(xiàn)是一組API函數(shù)。使用OLE DB API,可以編寫能夠訪問符合OLE DB標(biāo)準(zhǔn)的任何數(shù)據(jù)源應(yīng)用程序。,為了使各種流行的編程語言都能編寫符合OLE DB標(biāo)準(zhǔn)的應(yīng)用程序,微軟公司在OLE DB API之上提供了一種面向?qū)ο蟮?、與語言無關(guān)的應(yīng)用程序編寫接口,就是ADO。 ADO是一項(xiàng)數(shù)據(jù)庫(kù)訪問技術(shù)。ADO具有如下優(yōu)點(diǎn)。, 對(duì)于程序設(shè)計(jì)者而言,ADO很容易掌握和使用。 ADO能夠被Visual Basic、Java、C+、VBScript及Jscript等程序設(shè)計(jì)語言所支持。 ADO能夠訪
4、問各種支持OLE DB的數(shù)據(jù)源,也就是說,通過ADO能夠訪問具有OLE DB驅(qū)動(dòng)程序的數(shù)據(jù)源。 ADO允許C+的程序員訪問OLE DB的底層接口。,ADO包括7個(gè)對(duì)象及集合,其主要作用描述如下。 (1)Connection對(duì)象 Connection對(duì)象用于建立數(shù)據(jù)源與ADO應(yīng)用程序之間的連接。,(2)Recordset對(duì)象 Recordset對(duì)象是ADO中最重要的對(duì)象之一,是對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢索后的數(shù)據(jù)記錄集。這個(gè)記錄集既可以是Command對(duì)象返回的查詢結(jié)果,也可以是直接運(yùn)行SQL命令產(chǎn)生的查詢結(jié)果。Recordset對(duì)象把數(shù)據(jù)庫(kù)檢索的結(jié)果封裝在一起,并通過它的方法和屬性提供一種方便、快捷地訪問
5、每條記錄、每個(gè)字段的方法。,(3)Command對(duì)象 Command對(duì)象用于定義數(shù)據(jù)庫(kù)的查詢動(dòng)作,一般使用SQL命令,也可以使用存儲(chǔ)過程。 Command對(duì)象允許指定參數(shù),其參數(shù)通過Parameter對(duì)象賦值、使用。,(4)Parameter對(duì)象 Parameter對(duì)象的作用是將存儲(chǔ)過程和參數(shù)查詢所需的參數(shù)傳遞給Command對(duì)象。存儲(chǔ)過程是SQL語言的過程。一個(gè)Command對(duì)象上的所有Parameter對(duì)象構(gòu)成Parameters集合。,(5)Field對(duì)象 Field對(duì)象能夠使我們讀取記錄集(Recordset)對(duì)象中各個(gè)字段的字段值。定義在一個(gè)Recordset對(duì)象上的所有Field對(duì)
6、象構(gòu)成Fields集合。,(6)Property對(duì)象 Property對(duì)象能夠指明一個(gè)ADO對(duì)象的屬性。所有的Property對(duì)象構(gòu)成Properties集合。這個(gè)集合與Connection、Command、Recordset或Field對(duì)象相關(guān)聯(lián)。,(7)Error對(duì)象 Error對(duì)象的作用是返回一個(gè)數(shù)據(jù)庫(kù)連接(Connection)上產(chǎn)生的錯(cuò)誤。 ADO對(duì)象及集合的關(guān)系如圖13-2所示。,在ADO的對(duì)象中, Connection、Command和Recordset三個(gè)對(duì)象是頂層對(duì)象,也是最重要的對(duì)象。我們能夠單獨(dú)的創(chuàng)建、釋放這三個(gè)對(duì)象。而其他對(duì)象,盡管可以單獨(dú)創(chuàng)建對(duì)象,但是在使用之前,必須
7、與有關(guān)的對(duì)象相關(guān)聯(lián)。Field、Error和Property 對(duì)象在其雙親對(duì)象存在的情況下才存在,不能單獨(dú)的創(chuàng)建這些對(duì)象。,Connection對(duì)象用于建立應(yīng)用程序與數(shù)據(jù)庫(kù)的連接。在這個(gè)基礎(chǔ)之上,可以使用Command對(duì)象和Recordset對(duì)象對(duì)所連接的數(shù)據(jù)庫(kù)進(jìn)行各種操作。Command對(duì)象用于定義數(shù)據(jù)庫(kù)的查詢操作,主要采用SQL語言描述查詢動(dòng)作。Recordset對(duì)象對(duì)應(yīng)于Command對(duì)象的返回結(jié)果。當(dāng)然Recordset對(duì)象也可以直接建立一個(gè)Recordset,即不顯式地為Recordset創(chuàng)建Connection或 Command對(duì)象,但實(shí)際上通過Recordset對(duì)象的一些參數(shù)設(shè)置
8、了Connection對(duì)象和Command對(duì)象的屬性 。,13.2 建 立 連 接,13.2.1 使用Connection對(duì)象建立連接 Connection對(duì)象用于應(yīng)用程序與服務(wù)器之間的連接。使用Connection對(duì)象可以確定以何種方式建立與服務(wù)器的連接,設(shè)置查詢條件,檢查整個(gè)處理過程中發(fā)生的錯(cuò)誤。,1建立和關(guān)閉連接對(duì)象 建立Connection對(duì)象的方法如下。 ,“Server.CreateObject”的含義是執(zhí)行ASP內(nèi)置的Server對(duì)象的CreateObject 方法,創(chuàng)建一個(gè)“ADODB.Connection”對(duì)象。新創(chuàng)建的連接對(duì)象實(shí)例被賦值給對(duì)象變量“objCn”,即ObjCn
9、就是與數(shù)據(jù)庫(kù)建立連接的對(duì)象變量。 關(guān)閉Connection對(duì)象的方法是: ,“Close”是Connection對(duì)象的方法,其作用是關(guān)閉Connection對(duì)象,將應(yīng)用程序與數(shù)據(jù)庫(kù)的連接斷開。但objCn仍在內(nèi)存中,沒有釋放所占用的空間。釋放對(duì)象變量的方法是: ,2與數(shù)據(jù)源建立連接 建立連接對(duì)象,僅僅是創(chuàng)建了一個(gè)Connection對(duì)象的實(shí)例,并沒有真正地與一個(gè)數(shù)據(jù)庫(kù)建立起連接。建立連接的操作通過Connection對(duì)象的Open方法實(shí)現(xiàn)。,Connection對(duì)象的Open方法的基本語法格式如下 .Open ConnectionString ConnectionString是連接參數(shù),指明了
10、連接的數(shù)據(jù)庫(kù)類型、名稱等。,需要說明的是,建立連接等操作的成功與否,在瀏覽器上沒有任何顯示。 不同類別的數(shù)據(jù)庫(kù),具有不同的驅(qū)動(dòng)程序,相應(yīng)的具有不同的連接參數(shù)和格式。,13.2.2 Connection對(duì)象的屬性 1CommandTimeOut屬性 CommandTimeOut屬性用于設(shè)置等待時(shí)間。在使用Connection對(duì)象的Execute方法運(yùn)行一個(gè)查詢時(shí),如果由于網(wǎng)絡(luò)負(fù)擔(dān)過重或其他原因造成在指定的CommandTimeOut時(shí)間內(nèi)未能完成有關(guān)操作,則系統(tǒng)會(huì)自動(dòng)取消Execute方法的執(zhí)行。,如果將CommandTimeOut的屬性值設(shè)為0,則系統(tǒng)無限期等待命令的執(zhí)行。默認(rèn)值為30秒。 2
11、ConnectionString屬性 ConnectionString屬性指定了與數(shù)據(jù)庫(kù)建立連接的參數(shù),包括所連接的數(shù)據(jù)庫(kù)類型、名稱等。連接參數(shù)是由若干形如“參數(shù)=值;”的表達(dá)式連接而成。,3ConnectionTimeOut屬性 ConnectionTimeOut屬性用于設(shè)置執(zhí)行Open方法時(shí)的超時(shí)時(shí)間。當(dāng)超過指定的ConnectionTimeOut時(shí)間仍未完成連接操作,系統(tǒng)自動(dòng)終止Open方法的執(zhí)行。如果設(shè)置ConnectionTimeOut為0,則程序一直等待Open 方法的執(zhí)行,直到連接成功。ConnectionTimeOut屬性的默認(rèn)值為15秒。,4DefaultDatabase屬性
12、 DefaultDatabase屬性可以設(shè)置或返回Connection對(duì)象的默認(rèn)數(shù)據(jù)庫(kù)。,13.2.3 通過Connection對(duì)象執(zhí)行查詢命令 ADO的Connection對(duì)象的主要作用是建立數(shù)據(jù)庫(kù)的連接。實(shí)際上,Connection對(duì)象還可以直接執(zhí)行查詢命令。使用Connection對(duì)象的Execute方法能夠執(zhí)行指定的SQL查詢命令或由SQL命令構(gòu)成的文本。,Execute方法格式如下: .Execute CommandText,RecordsetAffectd,Options 其中的“CommandText”是包含表名的 SQL語句?!癛ecordsetAffectd”是可選參數(shù),若需
13、要知道執(zhí)行該命令所影響的記錄數(shù),可以在此放置一個(gè)變量,待命令執(zhí)行完畢,檢查該變量的值即可?!癘ptions”是可選參數(shù),用于指定CommandText的類型,如存儲(chǔ)過程、命令等。,13.3 Recordset對(duì)象,從數(shù)據(jù)庫(kù)中讀取的數(shù)據(jù)記錄通過Recordset對(duì)象處理。使用Recordset對(duì)象,可以對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)表的數(shù)據(jù)進(jìn)行各種操作,如插入記錄、刪除記錄、更新記錄、檢索數(shù)據(jù)等。Recordset對(duì)象保存數(shù)據(jù)的方式類似于二維表,包括字段和記錄。,13.3.1 建立Recordset對(duì)象 使用Recordset對(duì)象時(shí),需要聲明一個(gè)Recordset對(duì)象的實(shí)例,即創(chuàng)建一個(gè)Recordset對(duì)象的對(duì)
14、象變量。其語法格式如下: Set對(duì)象變量=Server.CreateObject(“ADODB.Recordset”),以上命令的含義是建立一個(gè)ADODB.Recordset類型的對(duì)象,并賦值給對(duì)象變量。對(duì)象變量建立后,可以使用Open方法建立一個(gè)Recordset。Recordset對(duì)象的Open方法的基本格式如下。 .Open Source, ConnectionString Source是一個(gè)SQL命令,也就是查詢要求。ConnectionString是連接參數(shù)。,例如,從課程管理數(shù)據(jù)庫(kù)中讀取學(xué)生的基本信息,可以使用如下的命令。 ,需要說明的是可以使用多種方式建立Recordset對(duì)象。
15、一種方式就是上面提到的直接使用Recordset對(duì)象的Open 方法建立Recordset。另一種方法是首先建立一個(gè)Connection對(duì)象,然后使Connection對(duì)象與Recordset對(duì)象建立關(guān)聯(lián),從而得到建立了連接的Recordset對(duì)象。還有一種方法是通過Connection對(duì)象的Execute方法執(zhí)行有關(guān)查詢,產(chǎn)生Recordset對(duì)象,還可以通過Command對(duì)象建立Recordset對(duì)象 。,13.3.2 使用Recordset訪問數(shù)據(jù)庫(kù) 從Recordset對(duì)象中讀取數(shù)據(jù)記錄時(shí)需要使用“記錄指針”。從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)、建立Recordset后,有一個(gè)“記錄指針”指向第一條記
16、錄。此時(shí),可以讀取這條記錄中各個(gè)字段的數(shù)據(jù),而且只能讀取這條記錄的數(shù)據(jù)。就是說,在同一個(gè)時(shí)刻只能讀取當(dāng)前記錄中的數(shù)據(jù),即記錄指針?biāo)赶虻挠涗?。如果要讀取其他記錄的數(shù)據(jù)時(shí),必須把“記錄指針”移動(dòng)到要訪問的記錄上。,1讀取數(shù)據(jù) 例13.3 讀取Recordset中的字段。 使用Recordset 讀取數(shù)據(jù), %Set RS= Server.CreateObject (ADODB.Recordset) cnStr= Provider=Microsoft.Jet.OLEDB.4.0; Data Source= _ & Server.MapPath(課程管理.mdb) RS.Open Select *
17、from student ,cnStr,if Not RS.EOF then tmpNumber=RS(SNumber) tmpName=RS(SName) tmpSex=RS(SSex) tmpBirthDay=RS(SBirthday) tmpAddr=RS(SAddress) tmpZip=RS(SZip) tmpSign=RS(SSign) end if,Response.Write tmpNumber+tmpName % ,2輸入數(shù)據(jù) 除了前面提到的使用Connection對(duì)象的Execute方法執(zhí)行SQL命令插入記錄之外,還可以使用Recordset對(duì)象插入記錄。具體做法是首先在R
18、ecordset中添加一個(gè)空白記錄,然后,為各個(gè)字段賦值。,例13.4 以下是在記錄集中添加一條新記錄的示例。 ,3刪除記錄 Recordset提供了刪除對(duì)象的方法。Recordset對(duì)象的Delete方法的作用是刪除當(dāng)前記錄指針?biāo)赶虻挠涗洠?,13.3.3 Recordset對(duì)象的主要屬性 1AbsolutePage屬性 AbsolutePage屬性可以返回當(dāng)前記錄所在頁的絕對(duì)頁號(hào),也可以指定當(dāng)前記錄應(yīng)該放置在哪頁。,2AbsolutePosition屬性 當(dāng)前記錄指針的絕對(duì)位置。在正常情況下,其值在1-RecordCount(Recordset對(duì)象中記錄的個(gè)數(shù))之間,或是常數(shù)值。在Rec
19、ordset內(nèi),第一條記錄對(duì)應(yīng)的AbsolutePosition值為1;最后一條記錄的AbsolutePosition值為RecordCount。,3ActiveConnection屬性 ActiveConnection屬性是包含連接信息的連接字符串,包括數(shù)據(jù)源、用戶名、口令等。如果已經(jīng)建立了連接,通過ActiveConnection屬性,Recordset對(duì)象和Command對(duì)象能夠與Connection對(duì)象建立關(guān)聯(lián)。我們可以通過ActiveConnection屬性使Connection對(duì)象和Recordset對(duì)象建立關(guān)聯(lián)。我們還可以通過ActiveConnection屬性讀取與當(dāng)前數(shù)據(jù)庫(kù)的
20、連接有關(guān)的參數(shù)。,4BOF屬性 BOF屬性檢查、判明當(dāng)前記錄指針是否在第一條記錄之前,并返回檢查的結(jié)果。如果當(dāng)前記錄指針已經(jīng)移到第一條記錄之前,BOF為真;否則為假。一般情況下,在向前移動(dòng)記錄指針時(shí),通過檢測(cè)BOF的值,可以判斷是否已經(jīng)到達(dá)第一條記錄之前。,5CursorLocation屬性 Cursor稱為游標(biāo)。CursorLocation屬性用于選擇所使用的游標(biāo)庫(kù)。當(dāng)CursorLocation的值為2,其常數(shù)定義為adUseServer,表示使用服務(wù)器端的游標(biāo)庫(kù)。當(dāng)CursorLocation的值為1,其常數(shù)定義為adUseClient,表示使用客戶端的游標(biāo)庫(kù)。,6CursorType屬
21、性 在使用Recordset讀取數(shù)據(jù)時(shí)涉及到使用記錄指針。不同類型的記錄指針具有不同的指針移動(dòng)方式。在打開Recordset時(shí),需要指定記錄指針的類型,即CursorType屬性。系統(tǒng)提供了四種CursorType值,其含義和屬性值見表13-2。,7EditMode屬性 EditMode屬性能夠返回Recordset對(duì)象當(dāng)前的編輯模式:0表示目前處理的Recordset中沒有任何編輯操作;1表示正在進(jìn)行編輯操作,但是尚未保存到數(shù)據(jù)庫(kù)中;2表示正在增加記錄,但是尚未保存到數(shù)據(jù)庫(kù)中;4表示當(dāng)前記錄被刪除。,8EOF屬性 EOF屬性用于判斷記錄指針是否到達(dá)Recordset的末尾。當(dāng)EOF的值為Tr
22、ue,表示記錄指針位于最后一條記錄之后。 9Filter屬性 Filter屬性可以在Recordset對(duì)象中設(shè)置對(duì)數(shù)據(jù)的篩選條件,使被過濾出來的Recordset成為當(dāng)前Recordset。,10LockType屬性 LockType屬性用于設(shè)置當(dāng)前記錄的鎖定方式,以確定是否可以將記錄寫入數(shù)據(jù)庫(kù)。 11MaxRecords屬性 MaxRecords屬性用于設(shè)置從數(shù)據(jù)源一次返回的最大記錄數(shù)。MaxRecords屬性的默認(rèn)值為0,表示返回所有記錄。,12PageCount屬性 PageCount屬性指明當(dāng)前Recordset對(duì)象所包含的頁數(shù)。每一頁包括一組記錄,其記錄的數(shù)量由PageSize屬性設(shè)
23、置。 13PageSize屬性 當(dāng)Recordset對(duì)象設(shè)置了分頁,使用PageSize屬性設(shè)置每頁的記錄數(shù)。PageSize屬性的默認(rèn)值為10,即每一頁有10條記錄。,14RecordCount屬性 使用RecordCount屬性能夠確定Recordset中有多少條記錄。如果ADO無法判斷記錄總數(shù),則返回-1。需要說明的是如果Recordset以adOpenForwardOnly方式打開,則RecordCount屬性不起作用。,15Source屬性 Source屬性指明Recordset對(duì)象的數(shù)據(jù)來源。 16State屬性 State屬性可以返回Recordset對(duì)象的狀態(tài)。,17Statu
24、s屬性 Status屬性能夠返回記錄處理是否成功的信息。 13.3.4 Recordset的主要方法 1Open方法 Open方法的完整格式如下。 對(duì)象變量.Open Source,Connection,CursorType,LockType,Type,Open方法中各項(xiàng)參數(shù)的含義如下。 “Source”是一個(gè)字符串。指明要從數(shù)據(jù)庫(kù)中選取的數(shù)據(jù)。數(shù)據(jù)源可以是Command對(duì)象、SQL語句、存儲(chǔ)過程、表名或文件的全路徑。, Connection表示數(shù)據(jù)庫(kù)連接的名稱。可以使用三種方式表達(dá)所要連接的數(shù)據(jù)庫(kù)。第一種方式是直接使用已經(jīng)建立連接的Connection對(duì)象變量;第二種方式使用連接參數(shù)字符串;
25、第三種方式使用ODBC數(shù)據(jù)源名稱。連接參數(shù)可以通過Recordset對(duì)象的ConnectionString屬性設(shè)置。, CursorType指明Recordset對(duì)象打開數(shù)據(jù)庫(kù)時(shí)所使用的記錄指針類型。 LockType是可選參數(shù),它確定了打開Recordset對(duì)象時(shí)的鎖定類型。 Type是可選參數(shù),用于指定打開Recordset對(duì)象時(shí)對(duì)應(yīng)的Command對(duì)象的CommandType類型。,2Close方法 Close方法的作用是關(guān)閉一個(gè)Recordset對(duì)象,釋放相關(guān)的數(shù)據(jù),即為這個(gè)Recordset所申請(qǐng)的資源。使用Close方法不能將Recordset對(duì)象從內(nèi)存中清除。 釋放對(duì)象變量的命令
26、如下。 Set =nothing,3Update方法 Update方法的功能是將Recordset對(duì)象中當(dāng)前記錄保存到數(shù)據(jù)庫(kù)中。 4AddNew方法 AddNew方法的作用是在Recordset對(duì)象中添加一條記錄。AddNew方法的語法格式如下。 Recoreset.AddNew FieldList, Values,其中FieldList是一個(gè)字段或字段數(shù)組的名稱;Values是相應(yīng)的一個(gè)字段值或用數(shù)組表示的字段值。FieldList 和Values都是可選參數(shù)。如果使用沒有參數(shù)的AddNew方法,則在Recordset中插入一個(gè)空白記錄。,使用AddNew方法向Recordset中添加記錄的
27、方法有兩種:一種方法是在Recordset中添加一個(gè)空白記錄,再向這個(gè)空白記錄的字段中輸入數(shù)據(jù);另一種方法是先為數(shù)組賦值,再使用AddNew方法將數(shù)組中的數(shù)據(jù)添加到Recordset中。需要特別注意的是使用AddNew方法添加到Recordset中的數(shù)據(jù)并沒有保存到數(shù)據(jù)庫(kù)中,必須使用Update方法才能真正將Recordset中的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。,5Delete方法 使用Delete方法能夠刪除Recordset對(duì)象中一條或多條記錄。Delete方法的語法格式如下。 Recordset.Delete Affect 以上命令中的Affect表示刪除數(shù)據(jù)的范圍。當(dāng)該參數(shù)的值為1時(shí),只能刪除當(dāng)前
28、的記錄;參數(shù)的值為2時(shí),則可以將所有與Filter屬性所設(shè)條件相匹配的記錄刪除掉。,6移動(dòng)記錄指針的方法 從數(shù)據(jù)庫(kù)中讀取的數(shù)據(jù)都被放在Recordset對(duì)象中。而對(duì)Recordset對(duì)象中的數(shù)據(jù)進(jìn)行操作時(shí)需要使用記錄指針。Recordset對(duì)象提供了一組移動(dòng)記錄指針的方法,使用這一組方法,就能夠比較方便的操作數(shù)據(jù)。,(1)Move NumRecords “Move NumRecords ,Start”方法的作用是在Recordset對(duì)象內(nèi),將記錄指針從“Start”位置開始移動(dòng)“NumRecords”條記錄。 (2)MoveFirst “MoveFirst”方法的作用是在Recordset對(duì)象
29、內(nèi),將記錄指針移動(dòng)到第一條記錄上。,(3)MoveLast “MoveLast”方法的作用是在Recordset對(duì)象內(nèi),將記錄指針移動(dòng)到最后一條記錄上。 (4)MoveNext “MoveNext”方法的作用是在Recordset對(duì)象內(nèi),將記錄指針向后(即記錄號(hào)增加的方向)移動(dòng)一條記錄。,(5)MovePrevious “MovePrevious”方法的作用是在Recordset對(duì)象內(nèi),將記錄指針向前移動(dòng)一條記錄。,7CancelUpdate方法 當(dāng)Recordset中的記錄尚未寫到數(shù)據(jù)庫(kù)中時(shí),也就是說,在Recordset中插入、刪除或更新了數(shù)據(jù),但是還沒有使用Update方法時(shí),若需要撤銷
30、對(duì)Recordset中記錄的更新操作,可以使用CancelUpdate方法。CancelUpdate方法的功能是取消對(duì)Recordset對(duì)象的更新操作。,8Clone方法 Clone方法的功能是復(fù)制某個(gè)已經(jīng)存在的Recordset對(duì)象。復(fù)制得到的新Recordset對(duì)象與原來的Recordset對(duì)象具有相同的記錄集,但是各自擁有獨(dú)立的記錄指針。,13.3.5 Recordset的Fields集合 Recordset提供了一個(gè)Fields集合,F(xiàn)ields集合的每一項(xiàng)都是一個(gè)Field對(duì)象。每個(gè)Field對(duì)象擁有一個(gè)名字及序號(hào),分別對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的字段。 我們可以利用Fields集合的Count
31、屬性讀取表中的字段個(gè)數(shù),使用Field對(duì)象的Name和Value分別讀取字段名稱和字段數(shù)據(jù)。,13.4 Command對(duì)象,Command對(duì)象能夠用來執(zhí)行查詢命令,并將滿足條件的記錄返回到Recordset對(duì)象。Command對(duì)象所執(zhí)行的這些命令可以是SQL語句、存儲(chǔ)過程、數(shù)據(jù)庫(kù)表或系統(tǒng)能夠支持的其他格式的文件。,13.4.1 建立Command對(duì)象 建立Command對(duì)象的方法是使用ASP內(nèi)置的Server對(duì)象的CreateObject方法,命令格式如下。 Set = Server.CreateObject(ADODB.Command) 其中“對(duì)象名”所表示的是Command對(duì)象的一個(gè)實(shí)例。然后,需要將這個(gè)對(duì)象實(shí)例與Connection對(duì)象建立連接。,與Recordset對(duì)象不同,Command對(duì)象不需要直接進(jìn)行打開和關(guān)閉的操作。當(dāng)關(guān)閉一個(gè)Connection 對(duì)象時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 6346.2301-2025電子設(shè)備用固定電容器第23-1部分:空白詳細(xì)規(guī)范表面安裝金屬化聚萘二甲酸乙二醇酯膜介質(zhì)直流固定電容器評(píng)定水平EZ
- 2026年農(nóng)業(yè)高技能人才培育策略
- 2026年呼叫中心服務(wù)質(zhì)量提升課程
- 2026河南南陽市市直機(jī)關(guān)遴選公務(wù)員37人備考題庫(kù)帶答案詳解
- 隱形技術(shù)的定義
- 職業(yè)噪聲工人心血管疾病一級(jí)預(yù)防實(shí)踐
- 職業(yè)健康監(jiān)護(hù)策略研究
- 職業(yè)健康大數(shù)據(jù)在職業(yè)病鑒定中的應(yīng)用
- 職業(yè)健康中的人機(jī)適應(yīng)性研究
- 齊齊哈爾2025年黑龍江齊齊哈爾龍江縣選調(diào)中小學(xué)校醫(yī)筆試歷年參考題庫(kù)附帶答案詳解
- (完整)鋼筋混凝土擋土墻專項(xiàng)施工方案
- 支氣管封堵器課件
- 警務(wù)英語教學(xué)課件
- 旋挖鉆機(jī)進(jìn)場(chǎng)安全培訓(xùn)課件
- 2025年高純石墨碳材行業(yè)研究報(bào)告及未來行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)
- 2025至2030中國(guó)超高鎳正極材料市場(chǎng)經(jīng)營(yíng)格局與未來銷售前景預(yù)測(cè)報(bào)告
- DB44∕T 2328-2021 慢性腎臟病中醫(yī)健康管理技術(shù)規(guī)范
- 農(nóng)村水利技術(shù)術(shù)語(SL 56-2013)中文索引
- 中考語文文言文150個(gè)實(shí)詞及虛詞默寫表(含答案)
- 廣西小額貸管理辦法
- 海南省醫(yī)療衛(wèi)生機(jī)構(gòu)數(shù)量基本情況數(shù)據(jù)分析報(bào)告2025版
評(píng)論
0/150
提交評(píng)論