《ADO與Web數(shù)據(jù)庫(kù)》PPT課件.ppt
《《ADO與Web數(shù)據(jù)庫(kù)》PPT課件.ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《ADO與Web數(shù)據(jù)庫(kù)》PPT課件.ppt(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第 7章 ADO與 Web數(shù)據(jù)庫(kù) ADO是 ASP內(nèi)置的一個(gè)用于數(shù)據(jù)庫(kù)訪問(wèn)的組件,是 ASP 技術(shù)的核心之一。 Web數(shù)據(jù)庫(kù)則是 Web技術(shù)和數(shù)據(jù)庫(kù)技術(shù)相結(jié) 合的產(chǎn)物,網(wǎng)上辦公、電子商務(wù)、在線(xiàn)注冊(cè)與搜索等都需要利 用 Web數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)和管理數(shù)據(jù)??梢哉f(shuō),要開(kāi)發(fā)基于 Browser/Server(瀏覽器 /服務(wù)器 )模式的網(wǎng)絡(luò)應(yīng)用就不能沒(méi)有 Web數(shù)據(jù)庫(kù)的支持。 ASP與 ADO相結(jié)合,完整地解決了網(wǎng)頁(yè) 與數(shù)據(jù)庫(kù)的連接與集成問(wèn)題,實(shí)現(xiàn)了客戶(hù)端瀏覽器對(duì) Web數(shù)據(jù) 庫(kù)靈活而有效地訪問(wèn),從而提供了對(duì)各種 Web應(yīng)用的強(qiáng)大支持。 第 7章 ADO與 Web數(shù)據(jù)庫(kù) 7.1 A
2、DO基礎(chǔ) 7.2 Connection對(duì)象 7.3 Command對(duì)象 7. 4 Recordset對(duì)象 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.1 ADO基礎(chǔ) 7.1.1 使用 ADO訪問(wèn)數(shù)據(jù)庫(kù) ASP是通過(guò)一組統(tǒng)稱(chēng)為 ADO ( ActiveX Data Object, 活 動(dòng)數(shù)據(jù)對(duì)象)的對(duì)象模塊來(lái)操作數(shù)據(jù)庫(kù)的。無(wú)論是 Access、 SQL Server、 Visual FoxPro 、 Oracle 、 dBase、 Informix或是其他數(shù)據(jù)庫(kù),只要該數(shù)據(jù)庫(kù)具有對(duì)應(yīng)的 ODBC 或 OLE DB驅(qū)動(dòng)程序, ADO對(duì)象就能夠進(jìn)行操作。 7.1 ADO基礎(chǔ) 7.1.
3、2 ADO 對(duì)象模型 ADO 組件主要提供了 7 種對(duì)象和 4 種集合供 Web 應(yīng)用程序的開(kāi)發(fā)者使用,通過(guò)這些對(duì)象和集合,可以方 便地建立與 Web數(shù)據(jù)庫(kù)的連接、執(zhí)行 SQL 查詢(xún)并處理 查詢(xún)得到的結(jié)果。 集合 描述 Errors 所有的 Error對(duì)象集合。這個(gè)集合用來(lái)響應(yīng)一個(gè)連接 (Connection) 上的單一錯(cuò)誤 Parameters 所有的 Parameter對(duì)象集合。這個(gè)集合關(guān)聯(lián)著一個(gè) Command對(duì)象 Fields 所有的字段對(duì)象集合。這個(gè)集合關(guān)聯(lián)著一個(gè) Recordset對(duì)象的所有字段 Properties 所有的 Property對(duì)象集合。這個(gè)集
4、合關(guān)聯(lián)著 Connection、 Command、 Recordset或者 Field對(duì)象 ADO集合描述 對(duì)象 描述 Connection(連接對(duì)象) 用來(lái)建立數(shù)據(jù)源和 ADO程序之間的連接 Command(命令對(duì)象) 用來(lái)嵌入 SQL查詢(xún),包括對(duì)存儲(chǔ)過(guò)程的調(diào)用 Parameter(參數(shù)對(duì)象) 用來(lái)傳遞參數(shù)給 SQL查詢(xún),在使用存儲(chǔ)過(guò)程時(shí)用到 Recordset(記錄集對(duì)象) 用來(lái)瀏覽及操作實(shí)際數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù),這是非常重要的一個(gè)對(duì)象 Field(字段對(duì)象) 用來(lái)取得一個(gè)記錄集 (Recordset)內(nèi)不同字段的值 Error(錯(cuò)誤對(duì)象) 用來(lái)返回一個(gè)數(shù)據(jù)庫(kù)連接 (Connec
5、tion)上的錯(cuò)誤 Property(屬性對(duì)象) 指明一個(gè) ADO對(duì)象的屬性 ADO對(duì)象描述 其中, Connection 對(duì)象、 Command 對(duì)象和 Recordset 對(duì)象是最基本也 是最重要的對(duì)象。 7.2 Connection對(duì)象 ADO組件中的 Connection對(duì)象,用于建立和管理應(yīng)用程 序與 OLE DB數(shù)據(jù)源或 ODBC 數(shù)據(jù)庫(kù)之間的連接,其他所有 對(duì)象都必須依賴(lài)此對(duì)象實(shí)現(xiàn)的連接才能發(fā)揮各自的功能。 Connection對(duì)象是 ADO內(nèi)置組件對(duì)象,因此需首先用 Server對(duì)象的 CreateObject方法創(chuàng)建一個(gè)實(shí)例后
6、才可使用。 Set conn = Server.CreateObject (”ADODB.Connection”) 7.2 Connection對(duì)象 Connection對(duì)象的常用屬性 屬性 意義描述 CommandTimeout 定義了使用 Execute方法運(yùn)行一條 SQL命令的最長(zhǎng)時(shí)限,才能夠中斷并產(chǎn)生錯(cuò)誤。默認(rèn)值為 30秒 (設(shè)定為 0表示沒(méi)有限制 ) ConnectionString 設(shè)定連接數(shù)據(jù)源的信息,包括 FileName、 Password、 Userld、DataSource、 Provider等參數(shù) ConnectionTimeout 定義了使用 open方
7、法連接數(shù)據(jù)源的最長(zhǎng)等待時(shí)間,默認(rèn)值為15秒 (設(shè)定為 0時(shí)表示沒(méi)有限制 ) DefaultDatabase 定義連接的默認(rèn)數(shù)據(jù)庫(kù) Mode 建立連接之前,設(shè)定連接的讀寫(xiě)方式,決定是否可更改目前數(shù)據(jù)。 0-不設(shè)定(默認(rèn))、 1-只讀、 2-只寫(xiě)、 3-讀寫(xiě) Provider 設(shè)置連接的數(shù)據(jù)提供者 (數(shù)據(jù)庫(kù)管理程序 ),默認(rèn)值是MSDASQL(MicrosotODBC For OLEDB) State 讀取當(dāng)前鏈接對(duì)象的狀態(tài),取 0表示關(guān)閉, 1表示打開(kāi) 7.2.1 Connection 對(duì)象的屬性 7.2 Connection對(duì)象 Connection對(duì)象的方法及描述 方法 意
8、義描述 Open 建立一個(gè)與數(shù)據(jù)源的連接對(duì)象 Close 關(guān)閉與數(shù)據(jù)源的連接,并且釋放與連接有關(guān)的系統(tǒng)資源 Execute 執(zhí)行 SQL命令或存儲(chǔ)過(guò)程,以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的通訊 BeginTrans 開(kāi)始一個(gè)新的事務(wù),即在內(nèi)存中為事務(wù)開(kāi)辟一片內(nèi)存緩沖區(qū) CommitTrans 提交事務(wù),即把一次事務(wù)中所有變動(dòng)的數(shù)據(jù)從內(nèi)存緩沖區(qū)一次性地寫(xiě)入硬盤(pán),結(jié)束當(dāng)前事務(wù)并可能開(kāi)始一個(gè)新的事務(wù) RollbackTrans 回滾事務(wù),即取消開(kāi)始此次事務(wù)以來(lái)對(duì)數(shù)據(jù)源的所有操作,并結(jié)束本次事務(wù)操作 7.2.2 Connection 對(duì)象的方法 7.2 Connection對(duì)象 7.2.2 Connec
9、tion 對(duì)象的方法 1 Open方法 打開(kāi)與數(shù)據(jù)庫(kù)的物理連接,只有在使用本方法之后,才能夠訪問(wèn) 指定的數(shù)據(jù)源。 語(yǔ)法格式: Connobject.Open connectionstring, UserId, Password 說(shuō)明: Connectstring為可選參數(shù) , 它是一個(gè)字符串變量 , 包含用于連接數(shù)據(jù) 庫(kù)的信息字符串 , 該參數(shù)由分號(hào)分隔的一系列 argument=value語(yǔ)句組成 。 UserId為可選參數(shù) , 它是一個(gè)字符串變量 , 包含建立連接時(shí)訪問(wèn)數(shù)據(jù) 庫(kù)使用的用戶(hù)名稱(chēng) 。 Password為可選參數(shù) , 它是一個(gè)字符串變量 , 包
10、含建立連接時(shí)訪問(wèn)數(shù) 據(jù)庫(kù)使用的密碼 。 7.2 Connection對(duì)象 7.2.2 Connection 對(duì)象的方法 2 Close方法 關(guān)閉與數(shù)據(jù)源的連接,并且釋放與連接有關(guān)的系統(tǒng)資源。 語(yǔ)法格式: Connobject.close 說(shuō)明: 關(guān)閉一個(gè)連接對(duì)象但沒(méi)有從內(nèi)存中刪除該對(duì)象。因此一個(gè)關(guān)閉的 connection對(duì)象還可以用 open方法打開(kāi)而不必再次創(chuàng)建一個(gè) connection對(duì) 象。此外,在使用 close方法關(guān)閉連接時(shí),也將關(guān)閉以此連接相關(guān)的所有活 動(dòng)的 recoordset對(duì)象。但是,與此連接相關(guān)的 command對(duì)象將不受影響,只 不過(guò) com
11、mand對(duì)象不再參與這個(gè)連接。 為了釋放 connection對(duì)象所占用的所有資源,可以用下面的方法: Set Connobject = nothing 7.2 Connection對(duì)象 7.2.2 Connection 對(duì)象的方法 3 Execute方法 執(zhí)行 SQL命令或存儲(chǔ)過(guò)程,以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的通訊。 語(yǔ)法格式: 有返回記錄的格式: Set Rs = Connobject.Execute(CommandText, ReccordAffected, Options) 無(wú)返回記錄的格式 Connobject.Execute Comma
12、ndText, ReccordAffected, Options 說(shuō)明: CommandText是一個(gè)字符串,它包含一個(gè)表名,或某個(gè)將被執(zhí)行的 SQL語(yǔ)句。 ReccordAffected為可選參數(shù),返回此次操作所影響的記錄數(shù)。 Options為可選參數(shù),用來(lái)表示 CommandText參數(shù)的性質(zhì)。 7.3 Command對(duì)象 Command對(duì)象用來(lái)定義數(shù)據(jù)庫(kù)的查詢(xún)動(dòng)作,這個(gè)查詢(xún)一 般采用 SQL語(yǔ)句,大部分?jǐn)?shù)據(jù)庫(kù)都會(huì)支持 SQL語(yǔ)言解釋。通過(guò) 和 SQL Server的查詢(xún)及存儲(chǔ)過(guò)程的良好結(jié)合, Command對(duì)象 有更強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)能力,無(wú)論是對(duì)數(shù)據(jù)庫(kù)的插入、
13、更新 和刪除這類(lèi)無(wú)需返回結(jié)果集的操作,還是對(duì) Select查詢(xún)這樣 需返回結(jié)果集的操作都一樣簡(jiǎn)單。 創(chuàng)建 Command對(duì)象實(shí)例語(yǔ)句格式為: Set comm = Server.CreateObject (”ADODB.Command”) 7.3.1 Command 對(duì)象的屬性 7.3 Command對(duì)象 Command對(duì)象的屬性 屬性 意義描述 ActiveConnection 定義了 Command對(duì)象的連接信息,用來(lái)指定當(dāng)前的Command對(duì)象的操作對(duì)象是哪個(gè) Connection對(duì)象 CommandText 定義傳送給數(shù)據(jù)提供者的命令文本。它被用來(lái)設(shè)定或返回
14、 一個(gè)字符串,該字符串包含一個(gè) SQL命令、一個(gè)表名或一 個(gè)存儲(chǔ)過(guò)程名。默認(rèn)值為空字符串 CommandType 指示 CommandTem屬性中設(shè)定的“命令字符串”的類(lèi)型 CommandTimeout 用來(lái)設(shè)定等候運(yùn)行一條命令的最長(zhǎng)等待時(shí)間,超過(guò)該時(shí)間命令對(duì)象中止并產(chǎn)生一個(gè)錯(cuò)誤。設(shè)定為 0時(shí)表示無(wú)限期等待 Name 用來(lái)設(shè)置和讀取一個(gè) Command對(duì)象的名字 Prepared 該屬性指示在命令被執(zhí)行前是否要用命令創(chuàng)建一個(gè)預(yù)備語(yǔ)句 State 用來(lái)設(shè)置或讀取當(dāng)前 Command對(duì)象的狀態(tài)是打開(kāi)的或關(guān)閉的 7.3.2 Command 對(duì)象的方法 7.3 Command對(duì)象
15、Command對(duì)象的常用方法有 Execute方法,用來(lái)運(yùn)行 CommandText屬性 所設(shè)定的 SQL查詢(xún)、 SQL說(shuō)明命令或存儲(chǔ)過(guò)程,以實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的通訊。其 語(yǔ)法為: 有返回記錄的格式: Set Rs = Comm. Execute(RecordsAffected, Parameters, Options) 無(wú)返回記錄的格式: Comm.Execute RecordsAfiected , Parameters, Options RecordAfiected為可選參數(shù),返回此次操作所影響的記錄數(shù)。 Parameters為可選參數(shù),表示一個(gè) SQL語(yǔ)句的參數(shù)集合。 Optio
16、ns為可選參 數(shù),用來(lái)指定 ADO如何解釋 CommandText參數(shù)的參數(shù)值,它的取值與意義 connection中 Options參數(shù)的取值及意義相同。 Recordset對(duì)象負(fù)責(zé)從數(shù)據(jù)庫(kù)中取得所需的記錄數(shù)據(jù)并在 內(nèi)存中創(chuàng)建一個(gè)記錄集合。用戶(hù)在訪問(wèn)數(shù)據(jù)庫(kù)時(shí),一般先通 過(guò) Connection對(duì)象建立與指定數(shù)據(jù)庫(kù)的連接,再按所需的要 求通過(guò)相應(yīng)的 SQL命令從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)創(chuàng)建一個(gè) Recordset記錄集,此后即可利用 Recordset對(duì)象的各種屬性 和方法對(duì)這個(gè)記錄集中的數(shù)據(jù)進(jìn)行各種操作處理。 創(chuàng)建 Command對(duì)象實(shí)例語(yǔ)句格式為: Set rs = S
17、erver.CreateObject (”ADODB.Recordset”) 7. 4 Recordset對(duì)象 7.4.1 Recordset 對(duì)象的屬性 7. 4 Recordset對(duì)象 屬性 意義描述 ActiveConnection 定義了與數(shù)據(jù)提供者的連接信息,用來(lái)指定當(dāng)前的 RecordSet對(duì)象屬于哪個(gè)Connection對(duì)象 Source 指示 RecordSet對(duì)象的數(shù)據(jù)源,可以是一個(gè) command對(duì)象名、 SQL語(yǔ)句、數(shù)據(jù)庫(kù)表或存儲(chǔ)過(guò)程 CursorType 指定 RecordSet對(duì)象所使用的光標(biāo)類(lèi)型 LockType 表示編輯時(shí)記錄的鎖定類(lèi)型 Filt
18、er 用來(lái)設(shè)定一個(gè)過(guò)濾條件,以便對(duì) RecordSet記錄進(jìn)行過(guò)濾 CacheSize 表示一個(gè) RecordSet對(duì)象在高速緩存中的記錄數(shù) Maxrecords 執(zhí)行一個(gè) SQL查詢(xún)時(shí),返回 RecordSet對(duì)象的最大記錄數(shù) Bof 判斷記錄指針是否到了第一條記錄之前 Eof 判斷記錄指針是否到了最后一條記錄之后 RecordCount 返回 RecordSet對(duì)象的記錄數(shù) (在使用鍵盤(pán)光標(biāo)時(shí),該屬性返回的可能是不 太準(zhǔn)確的數(shù)值;一般情況下,并不用這種方法來(lái)統(tǒng)計(jì) RecordSet中的記錄數(shù), 因?yàn)樗男阅懿⒉环€(wěn)定 ) Bookmark 書(shū)簽標(biāo)記,用來(lái)保存存當(dāng)前記錄的位置 A
19、bsolutePosition 用來(lái)設(shè)定 RecordSet對(duì)象中當(dāng)前記錄的順序位置是第幾行記錄 PageSize 表示 RecordSet對(duì)象的頁(yè)面大小 (每頁(yè)多少條記錄 ),默認(rèn)值為 10 PageCount 表示 RecordSet對(duì)象的頁(yè)面?zhèn)€數(shù) AbsolutePage 表示當(dāng)前記錄的頁(yè)號(hào) EditMode 指示當(dāng)前記錄的編輯狀態(tài), 0 已被編輯; 1 已被修改而未提交; 2 存入數(shù) 據(jù)庫(kù)的新記錄 Status 對(duì) RecordSet對(duì)象進(jìn)行批量更新后,查詢(xún)當(dāng)前記錄的狀態(tài) 7.4.2 Recordset 對(duì)象的方法 7. 4 Recordset對(duì)象 方法 意義描述
20、 Open 打開(kāi)一個(gè) RecordSet對(duì)象 Close 關(guān)閉一個(gè) RecordSet對(duì)象并釋放相關(guān)的資源 Clone 創(chuàng)建一個(gè) RecordSet對(duì)象的完全拷貝,但只有所用的 RecordSet對(duì)象類(lèi)型允許使用 BookMarks時(shí)才能使用該方法 MoveFirst 把 RecordSet指針指向第一行記錄 MoveLast 把 RecordSet指針指向最后一條記錄 (該 RecordSet必須支持書(shū)簽 ) MovePrevious 把 RecordSet指針上移一行 (使用前應(yīng)判斷 BOF是否為真;該RecordSet必須支持書(shū)簽 ) Movenext 把 RecordSet指針
21、下移一行 (使用前應(yīng)判斷 EOF是否為真 ) Move 把 RecordSet指針指向指定的記錄 GetPows 從一個(gè) RecordSet對(duì)象讀取一行或多行記錄到一個(gè)數(shù)組中 NextRecordSet 清除當(dāng)前的 RecordSet并執(zhí)行下一條指令,以傳回下一個(gè) RecordSet 對(duì)象,如果沒(méi)有下一條指令則返回 Nothing給 RecordSet Requery 重新執(zhí)行的 SQL查詢(xún)操作,以更新 RecordSet對(duì)象中的數(shù)據(jù) Resync 從數(shù)據(jù)源更新當(dāng)前的 RecordSet記錄,實(shí)現(xiàn)與數(shù)據(jù)源的同步 Addnew 增加一條空紀(jì)錄 Delete 刪除當(dāng)前記錄 Update
22、 保存當(dāng)前記錄的任何變動(dòng) CancelUpdate 取消前一個(gè) Update方法所做的一切修改 UpdateBatch RecordSet工作在批量方式時(shí),取消對(duì) RecordSet的更新 Suports 獲取創(chuàng)建的 RecordSet對(duì)象的能力信息 7. 4 Recordset對(duì)象 7.4.2 Recordset 對(duì)象的方法 1 Open方法 打開(kāi)一個(gè) RecordSet對(duì)象 語(yǔ)法格式 Rs.Open Source, ActiveConnection, CursorType, LockType, Option 說(shuō)明: Source: 表示數(shù)據(jù)源 , 可以是
23、一個(gè) Command對(duì)象名 、 一段 SQL命令 、 一個(gè)指定的數(shù) 據(jù)表名稱(chēng) , 也可以是一個(gè)存儲(chǔ)過(guò)程名 。 ActiveConnection: 表示所使用的連接 , 可以是一個(gè)已建立的 Connection對(duì)象名 , 也可以 是一個(gè)包含數(shù)據(jù)庫(kù)連接信息的字符串 。 CursorType: 表示打開(kāi) RecordSet對(duì)象所使用的光標(biāo)類(lèi)型 。 不同的光標(biāo)類(lèi)型決定了 對(duì) RecordSet所能做的操作 。 共有四種光標(biāo)類(lèi)型: 0 -前滾光標(biāo) , 記錄指針只能向前移動(dòng) , 且不允許修改任何記錄 , 是 Cursor的默認(rèn)值 , 此類(lèi)型所用的系統(tǒng)資源最少 , 訪問(wèn)效率最高;
24、1 - 鍵盤(pán)光標(biāo) (KeysetCursor), 記錄指針可向前向后移動(dòng) , 可進(jìn)行記錄 的更新和刪除 , 但所做的任何記錄修正均無(wú)法由他人讀?。? 2 - 動(dòng)態(tài)光標(biāo) (DynamicCursor), 記錄指針可向前向后移動(dòng) , 可進(jìn)行記錄 的更新和刪除 , 所做的任何記錄修正均可由他人讀取 , 此類(lèi)型所用的系 統(tǒng)資源最多 ; 3 - 靜態(tài)光標(biāo) (StaticCursor), 記錄指針可向前向后移動(dòng) , 但不允許修 改任何記錄 。 Open方法語(yǔ)法格式: Rs.Open Source, ActiveConnection, CursorType, LockType, Option Op
25、en方法語(yǔ)法格式: Rs.Open Source, ActiveConnection, CursorType, LockType, Option LockType: 表示編輯時(shí)記錄的鎖定類(lèi)型 。 它決定了當(dāng)多用戶(hù)試圖同時(shí)改變一個(gè) 記錄時(shí) , RecordSet如何處理數(shù)據(jù)記錄 。 它的取值有: 1 - 只讀鎖定 , 記錄只讀 , 不能更新 RecordSet, 為 LockType的默認(rèn)值; 2 保守式鎖定 , 編輯記錄開(kāi)始立刻鎖定 , 直到提交給數(shù)據(jù)提供者; 3 開(kāi)放式鎖定 , 只有調(diào)用 Update方法更新記錄時(shí)才鎖定記錄; 4 - 批量開(kāi)放式鎖定 , 允許同時(shí)更新多
26、條記錄 。 值 意義描述 1 表示被執(zhí)行的字符串包含一個(gè)命令文本 2 表示被執(zhí)行的字符串包含一個(gè)表名 4 表示被執(zhí)行的字符串包含一個(gè)存儲(chǔ)過(guò)程名 8 沒(méi)有指定字符串的內(nèi)容 (這是默認(rèn)值 ) Open方法語(yǔ)法格式: Rs.Open Source, ActiveConnection, CursorType, LockType, Option Option: 表示數(shù)據(jù)提供者如何處理 Source的內(nèi)容類(lèi)型。 例如: Rs.Open “select * from 表名 ” ,conn,1, 1,1 。 7. 4 Recordset對(duì)象 7.4.2 Recordset
27、對(duì)象的方法 2 Close方法 Rs.close關(guān)閉 RecordSet對(duì)象,并不從內(nèi)存中刪除該對(duì)象,只是無(wú) 法讀取其中的數(shù)據(jù),但仍然可以讀取它的屬性。因此一個(gè)關(guān)閉的 ReccordSet對(duì)象還可以用 Open方法打開(kāi)并保持其原有屬性。如果正在 進(jìn)行編輯更新數(shù)據(jù)的操作,在調(diào)用 Close方法前必須先調(diào)用 Update或 CancelUpdate方法,否則將會(huì)出現(xiàn)錯(cuò)誤。如果以批量模式更新數(shù)據(jù)記 錄 (Reccordset的 LockType屬性設(shè)為 3),那么對(duì)緩沖區(qū)數(shù)據(jù)的修改將全 部丟失。另外,使用 Clone方法復(fù)制一個(gè)已經(jīng)打開(kāi)的 RecordSet對(duì)象, 調(diào)用 Close方法不影響
28、任何復(fù)制的 RecordSet對(duì)象。 用下面的命令可以釋放 RecordSet對(duì)象所占用的所有資源: set Rs = nothing 7. 4 Recordset對(duì)象 7.4.2 Recordset 對(duì)象的方法 3 使用 Move、 MoveFirst、 MoveLast、 MovePrevious、 MoveNext方法移動(dòng)記錄指針時(shí), 需要注意 RecordSet對(duì)象的光標(biāo)類(lèi)型。如 “ 前滾光 標(biāo) ” 限制了記錄指針只能向前移動(dòng)。 7.5.1 連接數(shù)據(jù)庫(kù) 1. 使用 Connection對(duì)象連接到數(shù)據(jù)源 (連接數(shù)據(jù)庫(kù)) 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 常用的通
29、用數(shù)據(jù)源的 OLE DB連接字符串 數(shù)據(jù)源 OLE DB連接字符串 Microsoft Access Provider=Microsoft.Jet.OLEDB.4.0;Source=指 向 .mdb文件的物理路徑 Microsoft SQL Server Provider=SQLOLEDB.1;Source=指向服務(wù)器 上數(shù)據(jù)庫(kù)的路徑 Oracle Provider=MSDAORA.1;Source=指向服務(wù)器上 數(shù)據(jù)庫(kù)的路徑 Microsoft Indexing Service Provider=MSIDXS.1;Source=指向文件的路徑 7.5.1 連接數(shù)據(jù)庫(kù) 2.
30、使用 RecordSet對(duì)象讀取記錄集(打開(kāi) 表) 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 1. 基本格式 <% if rs.EOF and rs.BOF then response.write 暫時(shí)還沒(méi)有記錄 else while not rs.eof response.write rs(“字段名 ) response.write rs.movenext wend end if % 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 2.顯示更多字段 <% if rs.EOF and
31、 rs.BOF then response.write 暫時(shí)還沒(méi)有記錄 else While not rs.EOF response.write 型號(hào): & rs(ProName) response.write 價(jià)格: & rs(Proprice) response.write 簡(jiǎn)介: & rs(ProShow) response.write rs.MoveNext Wend end if % 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 3.顯示部分記錄 如前 3條記錄 <% if rs.EOF and rs.BOF then re
32、sponse.write 暫時(shí)還沒(méi)有記錄 else for i=0 to 2 response.write 型號(hào): & rs(ProName) response.write 價(jià)格: & rs(Proprice) response.write 簡(jiǎn)介: & rs(ProShow) response.write rs.MoveNext next end if % 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 4. 用表格形式顯示記錄 <% if rs.EOF and rs.BOF then response.write 暫時(shí)還沒(méi)有記錄 else
33、 for i=0 to 2 response.write 型號(hào): & rs(ProName) response.write 價(jià)格: & rs(Proprice) response.write 簡(jiǎn)介: & rs(ProShow) response.write rs.MoveNext next end if % 型號(hào): 價(jià)格: 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 4. 用表格形式顯示記錄 改進(jìn)表格 將 放在循環(huán)的外面 ,形成一列多行。 也可將 放在循環(huán)的外面,僅循環(huán)單元格
34、, 形成一行多列。 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 4. 用表格形式顯示記錄 課堂練習(xí):改進(jìn)表格實(shí)現(xiàn)第一行是表頭,下面 是記錄的形式。 課堂練習(xí):改進(jìn)表格實(shí)現(xiàn)第一行是表頭,下面是記錄的形式。 型號(hào) : 價(jià)格 : 簡(jiǎn)介 : 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.2 顯示記錄 5. 使用 Fields集合顯示記錄 Fields.count 表示記錄集中字段的個(gè)數(shù) Fields(i).name 表示當(dāng)前記錄第 i+1 個(gè)字段的名稱(chēng) Fields(i).value 表示當(dāng)前記錄第 i+1 個(gè)字段的值 <% if
35、 rs.EOF and rs.BOF then response.write 暫時(shí)還沒(méi)有記錄 else response.write 顯示字段的名稱(chēng)作為表格的表頭 for i=0 to rs.fields.count-1 response.write & rs.fields(i).name next response.write 顯示字段值 do while not rs.eof data= for i=0 to rs.fields.count-1 data=data & & rs.fields(i).value next resp
36、onse.write data & rs.MoveNext loop end if % 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.3 增加記錄 1. 使用 Recordset 對(duì)象的 AddNew方法 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.3 增加記錄 1. 使用 Recordset對(duì)象的 AddNew方法 在實(shí)際編程時(shí),還可以使用數(shù)組方式簡(jiǎn)化新記錄的添加。 如上 例基礎(chǔ)上修改,代碼如下: 連接數(shù)據(jù)庫(kù) 打開(kāi)數(shù)據(jù)表 斷開(kāi)連接 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.3 增加記錄 2.使用 SQL的 Insert命令 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例 7.5.4 刪除記錄 1.使用 Recordset 對(duì)象的 Delete方法 7.5.4 刪除記錄 2. 使用 SQL的 Delete命令 7. 5 訪問(wèn)數(shù)據(jù)庫(kù)實(shí)例
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案