ASP數(shù)據(jù)庫(kù)編程技術(shù).ppt_第1頁(yè)
ASP數(shù)據(jù)庫(kù)編程技術(shù).ppt_第2頁(yè)
ASP數(shù)據(jù)庫(kù)編程技術(shù).ppt_第3頁(yè)
ASP數(shù)據(jù)庫(kù)編程技術(shù).ppt_第4頁(yè)
ASP數(shù)據(jù)庫(kù)編程技術(shù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 ASP數(shù)據(jù)庫(kù)編程技術(shù),7.1 Connection對(duì)象,Connection對(duì)象負(fù)責(zé)網(wǎng)頁(yè)應(yīng)用程序與數(shù)據(jù)庫(kù)之間的鏈接,建立Connection對(duì)象后,ASP網(wǎng)頁(yè)才可使用RecordSet對(duì)象與Command對(duì)象進(jìn)行存取數(shù)據(jù)源的操作。 建立Connection對(duì)象 建立一個(gè)Connection對(duì)象通常通過調(diào)用Server對(duì)象的CreateObject方法,如下所示: Set Conn=Server.CreateObject(ADODB.Connection) 上述程序代碼建立了一個(gè)名為Conn的Connection對(duì)象,使用此對(duì)象可進(jìn)行與數(shù)據(jù)庫(kù)的鏈接操作。,7.1.2 Connection

2、對(duì)象的方法,1. Open方法,Connection對(duì)象的Open方法主要用來用來建立與數(shù)據(jù)庫(kù)的連接,只有用Open方法建立與數(shù)據(jù)庫(kù)的連接后,才可以繼續(xù)進(jìn)行其它操作。,2. Execute方法,在建立好數(shù)據(jù)庫(kù)鏈接后,可以使用Execute方法進(jìn)行數(shù)據(jù)源查詢操作。 其使用語(yǔ)法為: Set rs=Connection.Execute(Query ,Count,Options) 其中各個(gè)參數(shù)的含義為: Query(查詢)參數(shù)包含一個(gè)表名或某個(gè)將被執(zhí)行的數(shù)據(jù)查詢信息(SQL語(yǔ)句)。 Count參數(shù)指定執(zhí)行數(shù)據(jù)查詢信息返回所影響的記錄數(shù)。 Options參數(shù)用于控制Query參數(shù)的性質(zhì),它有4個(gè)值定義Q

3、uery的類型: (1)abCmdText:此參數(shù)值表明將執(zhí)行的是一個(gè)SQL串。 (2)abCmdTable:此參值表明Query中的一個(gè)表名。 (3)abCmdStoreProc:此參數(shù)值表明Execute方法將要執(zhí)行的是一個(gè)數(shù)據(jù)源知道的存儲(chǔ)過程。 (4)abCmdUnknown:此參數(shù)值表明Query中的命令類型不清楚。,3. Close方法,Close方法用于終止程序與數(shù)據(jù)庫(kù)之間的鏈接,并且用于釋放與鏈接有關(guān)的系統(tǒng)資源。 語(yǔ)法示例如下: 語(yǔ)句c.Close用于關(guān)閉Connection對(duì)象,語(yǔ)句set c=nothing釋放鏈接數(shù)據(jù)所占用的系統(tǒng)資源。,7.2 Connection對(duì)象的屬性

4、,7.2 Connection對(duì)象的屬性,7.2.2 CommandTimeout屬性 CommandTimeout屬性用于設(shè)定Execute方法的最長(zhǎng)執(zhí)行時(shí)間,也就是設(shè)定數(shù)據(jù)源查詢操作的時(shí)間。屬性值為一個(gè)長(zhǎng)整型變量,默認(rèn)值為30秒。也可以設(shè)置為任意值,如果想讓執(zhí)行Execute方法時(shí)沒有時(shí)間限制,則只需將其值設(shè)置為0,如下面程序所示: 7.2.3 ConnectionTimeout屬性 ConnectionTimeout屬性用于設(shè)定Open方法的最長(zhǎng)執(zhí)行時(shí)間,也就是設(shè)定鏈接數(shù)據(jù)源的最大鏈接時(shí)間。它并不定義命令的執(zhí)行時(shí)間,只是定義鏈接數(shù)據(jù)源時(shí)的最長(zhǎng)等待時(shí)間。其屬性值為一個(gè)長(zhǎng)整型的變量,默認(rèn)為1

5、5秒。如果設(shè)置為0,則表示沒有時(shí)間限制。,7.2.4 ConnectionString屬性 利用ConnectionString屬性可以返回一個(gè)字符串,此字符串中包含了創(chuàng)建數(shù)據(jù)源鏈接時(shí)所用的所有信息。它可以是系統(tǒng)的DSN,也可以是鏈接數(shù)據(jù)源時(shí)的所有參數(shù)。Connection對(duì)象可以接受該屬性傳過來的5個(gè)參數(shù),每個(gè)參數(shù)之間都要用”;”號(hào)隔開。,ConnectionString的參數(shù),7.2.5 Mode屬性 Mode屬性用于表示鏈接的寫權(quán)限。這個(gè)屬性只能在Connection對(duì)象沒有被打開的情況下進(jìn)行設(shè)置 .,7.3.1 連接 Access數(shù)據(jù)庫(kù),7.3.4 連接SQL Server數(shù)據(jù)庫(kù),SQ

6、L Server數(shù)據(jù)庫(kù)使用的參數(shù),7.4 Recordset對(duì)象,Recordset對(duì)象又稱記錄集對(duì)象,是最主要的對(duì)象。當(dāng)用Command對(duì)象或Connection對(duì)象執(zhí)行查詢命令后,就會(huì)得到一個(gè)記錄集對(duì)象,該記錄集包含滿足條件的所有記錄。 在使用Recordset對(duì)象前,必須先利用Connection對(duì)象鏈接數(shù)據(jù)庫(kù)。 Recordset對(duì)象用于存儲(chǔ)對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢后返回的記錄集。 使用Recordset對(duì)象前,先要利用Server對(duì)象的CreateObject方法建立Recordset對(duì)象,其使用語(yǔ)法如下: 建立名為rs 的Recordset對(duì)象后,便可以使用Recordset對(duì)象的方法對(duì)數(shù)

7、據(jù)庫(kù)文件進(jìn)行各種操作。,記錄集結(jié)構(gòu)圖,BOF,EOF,記錄1,記錄1,記錄2,記錄3,記錄N,后,前,記錄指針,當(dāng)前記錄,1、利用Connection對(duì)象的Execute方法建立 ,建立Recordset對(duì)象的幾種方法:,2、利用Connection對(duì)象的Execute方法的另一種形式 ,3、直接建立Recordset ,建立Recordset對(duì)象的幾種方法:,Recordset對(duì)象的方法,Recordset對(duì)象的屬性,1 Recordset對(duì)象的Open方法,Open方法用來打開記錄集。其使用語(yǔ)法為: Recordset對(duì)象.OpenSource,Activeconnection,Curso

8、r Type,LockType,Options,2.移動(dòng)記錄指針,RecordSet對(duì)象的MoveFirst方法、Movelast方法、MovePrevious方法和Move方法主要用于在RecordSet中移動(dòng)記錄指針: 1MoveFrist方法 MoveFrist方法用于把RecordSet中的記錄指針移動(dòng)到第一行記錄。 語(yǔ)法: RecordSet對(duì)象.MoveFirst 2MoveLast方法 Movelast方法用于把RecordSet中的記錄指針移到最后一行記錄。 語(yǔ)法: RecordSet對(duì)象.Movelast,2.移動(dòng)記錄指針,RecordSet對(duì)象的MoveFirst方法、Mo

9、velast方法、MovePrevious方法和Move方法主要用于在RecordSet中移動(dòng)記錄指針: 3MoveNext方法 MoveNext方法用于記錄指針移到下一行記錄,須使用RecordSet.EOF判斷一下記錄指針是否到了尾記錄 。 語(yǔ)法: RecordSet對(duì)象.MoveNext 4MovePrevious方法 MovePrevioust方法用于記錄指針移到上一行記錄,必須使用RecordSet.EOF判斷一下記錄指針是否到了首記錄, 。 語(yǔ)法: RecordSet對(duì)象.MovePrevious,4. 更新與增刪數(shù)據(jù)記錄的方法,1.Addnew方法 Addnew方法用于向數(shù)據(jù)庫(kù)中

10、增加新記錄,其使用語(yǔ)法為: RecordSet對(duì)象.AddnewField,Values 參數(shù)說明如下: (1)Fields為單一的字段名稱或多個(gè)字段名稱構(gòu)成的數(shù)組。 (2)Values為單一數(shù)據(jù)值或多個(gè)數(shù)據(jù)值所構(gòu)成的數(shù)組。 2.Delete 方法 Delete方法用來刪除當(dāng)前記錄,可進(jìn)行批量刪除。 其使用語(yǔ)法為: RecordSet對(duì)象.DeleteAdAffectCurrent|AdAffectGroup 參數(shù)說明如下: (1)AdAffectCurrent參數(shù):值為。該屬性是默認(rèn)值,使用該屬性設(shè)定會(huì)刪去當(dāng)前位置索引的記錄行。 (2)AdAffectGroup參數(shù):值為。該屬性刪除符合Fi

11、lter屬性設(shè)定的記錄行子集合。,4.更新與增刪數(shù)據(jù)記錄的方法,3Update方法 Update方法用于更新數(shù)據(jù)庫(kù)數(shù)據(jù)。 語(yǔ)法: RecordSet對(duì)象.Update 4CancelUpdate方法 用于取消剛發(fā)生的更新動(dòng)作。 語(yǔ)法: RecordSet對(duì)象.CancelUpdate,7.4.2 Recordset對(duì)象屬性,1)方式屬性 2)行為屬性 3)記錄指針移動(dòng)屬性 4)數(shù)據(jù)維護(hù)屬性,2.行為屬性,CursorType屬性:此屬性定義了指針的類型,不同的指針類型決定了對(duì)數(shù)據(jù)庫(kù)所能做的操作,它有4得可取值,如表所示。,3.記錄指針移動(dòng)的屬性,1BOF和EOF屬性:這兩個(gè)屬性是用來判斷指針是

12、否在RecordSet的首記錄之前或尾記錄之后。 如果當(dāng)記錄位于RecordSet的首記錄之前,則BOF返回True. 如果當(dāng)前記錄是位于RecordSet的尾記錄之后,則EOF返回True. 如果BOF 和EOF都為True,則說明RecordSet中沒有記錄。 2RecordCount屬性:該屬性用于返回RecordSet中的記錄數(shù)。,7.4.3 Field對(duì)象和Fields集合,Field對(duì)象又稱字段對(duì)象,是Recordset的子對(duì)象.一個(gè)記錄集就好比一個(gè)電子表格,該表格內(nèi)總是包含有許多列(字段),每一個(gè)字段就是一個(gè)Field對(duì)象,而所有Field對(duì)象組合起來就是一個(gè)Field對(duì)象集合.

13、 例:要輸出姓名字段時(shí),用如下語(yǔ)句: 還可以用以下幾種方法: ,當(dāng)用索引值時(shí),按字段在記錄集中的先后順序,從0開始.,Fields集合的屬性,Fields集合的屬性只有一個(gè),就是Count屬性.該屬性返回記錄集中字段(Field對(duì)象)的個(gè)數(shù). 語(yǔ)法: Recordset對(duì)象. Fields.Count,Fields集合的方法,Fields集合的方法也只有一個(gè),就是Item方法.該方法用于建立某一個(gè)Field對(duì)象. 語(yǔ)法: Set Field對(duì)象=Recordset對(duì)象. Fields. Item(字段名或字段索引值) 其中字段索引值是根據(jù)記錄集中的先后順序排列,從0到Fields.Count-

14、1,Field對(duì)象的常用屬性,Field對(duì)象的屬性中最有用的屬性是字段值Value.因?yàn)樵陧?yè)面上使用數(shù)據(jù)庫(kù)最主要的就是和字段值打交道. 語(yǔ)法: Field對(duì)象.Value Value也被定為 Field對(duì)象的默認(rèn)屬性,可以省略不寫,語(yǔ)法: Field對(duì)象,7.4.4使用RecordSet對(duì)象讀取數(shù)據(jù)庫(kù)內(nèi)容,例7-2:讀取Access數(shù)據(jù)庫(kù)文件db1.mdb的ASP程序(access1.asp)如下: ,7.4.4使用RecordSet對(duì)象讀取數(shù)據(jù)庫(kù)內(nèi)容, 讀取Access數(shù)據(jù)庫(kù)文件的內(nèi)容 &f2(i).name & Next % &f2(i)& Next Response.Write Row&

15、“ f2.MoveNext Wend % ,第二部分:讀取數(shù)據(jù)庫(kù)文件內(nèi)容,7.4.5使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改,1 .使用AddNew方法增加數(shù)據(jù)記錄 使用AddNew方法增加數(shù)據(jù)記錄,要先建立一個(gè)緩沖區(qū),并且將這個(gè)緩沖區(qū)設(shè)置為當(dāng)前數(shù)據(jù)記錄。確定要添加的數(shù)據(jù)記錄后,通過Update方法或使用移動(dòng)當(dāng)前數(shù)據(jù)記錄的方法將數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)中。如果要取消添加的數(shù)據(jù)記錄,使用CancelUpdate方法取消添加。 例:在例7-2文件access1.asp的第2部分前面加入如下的語(yǔ)句,就可以實(shí)現(xiàn)增加數(shù)據(jù)庫(kù)記錄的操作。 ,7.4.5使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改,2.使用Delete方法刪除數(shù)據(jù)記錄 在使用Delete方法對(duì)數(shù)據(jù)記錄進(jìn)行刪除操作時(shí),首先要將準(zhǔn)備刪除的數(shù)據(jù)記錄設(shè)置成當(dāng)前的數(shù)據(jù)記錄,然后再調(diào)用Delete方法。 例7-4:在例7-2文件access1.asp的第2部分前面加入如下語(yǔ)句,可刪除ID號(hào)為1的一條記錄。 ,7.4.5使用RecordSet對(duì)象對(duì)數(shù)據(jù)記錄進(jìn)行增加、刪除及修改,3.修改數(shù)據(jù)記錄 修改數(shù)據(jù)記錄需要借助Update方法以及移動(dòng)數(shù)據(jù)記錄指針的方法??砂旬?dāng)前數(shù)據(jù)記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論