ASP 頁面訪問數(shù)據(jù)庫_第1頁
ASP 頁面訪問數(shù)據(jù)庫_第2頁
ASP 頁面訪問數(shù)據(jù)庫_第3頁
ASP 頁面訪問數(shù)據(jù)庫_第4頁
ASP 頁面訪問數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、ASP 頁面訪問數(shù)據(jù)庫1、什么是 ADO? ADO 是一項(xiàng)微軟公司的技術(shù) ADO 指 ActiveX Data Objects ADO 是一個(gè)微軟的 Active-X 組件 ADO 會(huì)隨著微軟 IIS 自動(dòng)安裝 ADO 是用以訪問數(shù)據(jù)庫中數(shù)據(jù)的編程接口2、ODBCADOOLE DB之間的區(qū)別ODBC:open database connectivity開放式數(shù)據(jù)庫連接,是訪問關(guān)系數(shù)據(jù)庫的應(yīng)用程序編程接口。OLE DB:OBJECT LINKING AND EMBEDDING DATABASE,對象鏈接和嵌入式數(shù)據(jù)庫接口;提供對關(guān)系型和非關(guān)系型數(shù)據(jù)的訪問。ADO:ACTIVEX DATA OBJ

2、ECTS一種用于訪問數(shù)據(jù)庫中數(shù)據(jù)的編程接口。3、從 ASP 文件內(nèi)部訪問數(shù)據(jù)庫的通常途徑是: 創(chuàng)建至數(shù)據(jù)庫的 ADO 連接(ADO connection) 打開數(shù)據(jù)庫連接 創(chuàng)建 ADO 記錄集(ADO recordset) 打開記錄集(recordset) 從數(shù)據(jù)集中提取你所需要的數(shù)據(jù) 關(guān)閉數(shù)據(jù)集 關(guān)閉連接4、Connection 對象ADO Connection 對象用于創(chuàng)建一個(gè)到達(dá)某個(gè)數(shù)據(jù)源的開放連接。通過此連接,您可以對一個(gè)數(shù)據(jù)庫進(jìn)行訪問和操作。如果需要多次訪問某個(gè)數(shù)據(jù)庫,您應(yīng)當(dāng)使用 Connection 對象來建立一個(gè)連接。您也可以經(jīng)由一個(gè) Command 或 Recordset 對象

3、傳遞一個(gè)連接字符串來由ADO隱式地創(chuàng)建某個(gè)連接,但該連接是一次性的,即在程序每次訪問記錄集時(shí)都打開一個(gè)新的數(shù)據(jù)庫連接。因此,需要多次使用數(shù)據(jù)庫時(shí),應(yīng)該顯式地定義CONNECTION。注冊名ProgID set t=Server.CreateObject("ADODB.Connection"/另一種方法Connection”>方法方法描述Close關(guān)閉一個(gè)連接。Execute執(zhí)行查詢、SQL 語句、存儲(chǔ)過程或 provider 具體文本。Open建立到數(shù)據(jù)源的物理連接RollbackTrans取消當(dāng)前事務(wù)中所作的任何更改并結(jié)束事務(wù)。事件注釋:您無法使用 VBScript

4、 or JScript 來處理事件(僅能使用 Visual Basic、Visual C+ 以及 Visual J+ 語言處理事件)。事件描述BeginTransComplete在 BeginTrans 操作之后被觸發(fā)。CommitTransComplete在 CommitTrans 操作之后被觸發(fā)。ConnectComplete在一個(gè)連接開始后被觸發(fā)。Disconnect在一個(gè)連接結(jié)束之后被觸發(fā)。ExecuteComplete在一條命令執(zhí)行完畢后被觸發(fā)。InfoMessage假如在一個(gè) ConnectionEvent 操作過程中警告發(fā)生,則觸發(fā)該事件。RollbackTransComplet

5、e在 RollbackTrans 操作之后被觸發(fā)。WillConnect在一個(gè)連接開始之前被觸發(fā)。WillExecute在一條命令被執(zhí)行之前被觸發(fā)。5、Recordset 對象ADO Recordset 對象用于容納一個(gè)來自數(shù)據(jù)庫表的記錄集。一個(gè) Recordset 對象由記錄和列(字段)組成。在 ADO 中,此對象是最重要且最常用于對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行操作的對象。ProgIDset objRecordset=Server.CreateObject("ADODB.recordset" 當(dāng)您首次打開一個(gè) Recordset 時(shí),當(dāng)前記錄指針將指向第一個(gè)記錄,同時(shí) BOF 和 E

6、OF 屬性為 False。如果沒有記錄,BOF 和 EOF 屬性為 True。Recordset 對象能夠支持兩種更新類型:立即更新 - 一旦調(diào)用 Update 方法,所有更改被立即寫入數(shù)據(jù)庫。批更新 - provider 將緩存多個(gè)更改,然后使用 UpdateBatch 方法把這些更改傳送到數(shù)據(jù)庫。 在 ADO,定義了 4 中不同的游標(biāo)(指針)類型: 動(dòng)態(tài)游標(biāo) - 允許您查看其他用戶所作的添加、更改和刪除 鍵集游標(biāo) - 類似動(dòng)態(tài)游標(biāo),不同的是您無法查看有其他用戶所做的添加,并且它會(huì)防止您訪問其他用戶已刪除的記錄。其他用戶所做的數(shù)據(jù)更改仍然是可見的。 靜態(tài)游標(biāo) - 提供記錄集的靜態(tài)副本,可用來

7、查找數(shù)據(jù)或生成報(bào)告。此外,由其他用戶所做的添加、更改和刪除將是不可見的。當(dāng)您打開一個(gè)客戶端 Recordset 對象時(shí),這是唯一被允許的游標(biāo)類型。 僅向前游標(biāo) - 只允許在 Recordset 中向前滾動(dòng)。此外,由其他用戶所做的添加、更改和刪除將是不可見的。可通過 CursorType 屬性或 Open 方法中的 CursorType 參數(shù)來設(shè)置游標(biāo)的類型。注釋:并非所有的提供者(providers)支持 Recordset 對象的所有方法和屬性。屬性屬性描述AbsolutePage設(shè)置或返回一個(gè)可指定 Recordset 對象中頁碼的值。AbsolutePosition設(shè)置或返回一個(gè)值,此值

8、可指定 Recordset 對象中當(dāng)前記錄的順序位置(序號位置)。ActiveCommand返回與 Recordset 對象相關(guān)聯(lián)的 Command 對象。ActiveConnection如果連接被關(guān)閉,設(shè)置或返回連接的定義,如果連接打開,設(shè)置或返回當(dāng)前的 Connection 對象。BOF如果當(dāng)前的記錄位置在第一條記錄之前,則返回 true,否則返回 fasle。Bookmark設(shè)置或返回一個(gè)書簽。此書簽保存當(dāng)前記錄的位置。CacheSize設(shè)置或返回能夠被緩存的記錄的數(shù)目。CursorLocation設(shè)置或返回游標(biāo)服務(wù)的位置。CursorType設(shè)置或返回一個(gè) Recordset 對象的游

9、標(biāo)類型。DataMember設(shè)置或返回要從 DataSource 屬性所引用的對象中檢索的數(shù)據(jù)成員的名稱。DataSource指定一個(gè)包含要被表示為 Recordset 對象的數(shù)據(jù)的對象。EditMode返回當(dāng)前記錄的編輯狀態(tài)。EOF如果當(dāng)前記錄的位置在最后的記錄之后,則返回 true,否則返回 fasle。Filter返回一個(gè)針對 Recordset 對象中數(shù)據(jù)的過濾器。Index設(shè)置或返回 Recordset 對象的當(dāng)前索引的名稱。LockType設(shè)置或返回當(dāng)編輯 Recordset 中的一條記錄時(shí),可指定鎖定類型的值。MarshalOptions設(shè)置或返回一個(gè)值,此值指定哪些記錄被返回服

10、務(wù)器。MaxRecords設(shè)置或返回從一個(gè)查詢返回 Recordset 對象的的最大記錄數(shù)目。PageCount返回一個(gè) Recordset 對象中的數(shù)據(jù)頁數(shù)。PageSize設(shè)置或返回 Recordset 對象的一個(gè)單一頁面上所允許的最大記錄數(shù)。RecordCount返回一個(gè) Recordset 對象中的記錄數(shù)目。Sort設(shè)置或返回一個(gè)或多個(gè)作為 Recordset 排序基準(zhǔn)的字段名。Source設(shè)置一個(gè)字符串值,或一個(gè) Command 對象引用,或返回一個(gè)字符串值,此值可指示 Recordset 對象的數(shù)據(jù)源。State返回一個(gè)值,此值可描述是否 Recordset 對象是打開、關(guān)閉、正在

11、連接、正在執(zhí)行或正在取回?cái)?shù)據(jù)。Status返回有關(guān)批更新或其他大量操作的當(dāng)前記錄的狀態(tài)。StayInSync設(shè)置或返回當(dāng)父記錄位置改變時(shí)對子記錄的引用是否改變。方法方法描述AddNew創(chuàng)建一條新記錄。Cancel撤銷一次執(zhí)行。CancelBatch撤銷一次批更新。CancelUpdate撤銷對 Recordset 對象的一條記錄所做的更改。Clone創(chuàng)建一個(gè)已有 Recordset 的副本。Close關(guān)閉一個(gè) Recordset。CompareBookmarks比較兩個(gè)書簽。Delete刪除一條記錄或一組記錄。Find搜索一個(gè) Recordset 中滿足指定某個(gè)條件的一條記錄。GetRows把

12、多條記錄從一個(gè) Recordset 對象中拷貝到一個(gè)二維數(shù)組中。GetString將 Recordset 作為字符串返回。Move在 Recordset 對象中移動(dòng)記錄指針。MoveFirst把記錄指針移動(dòng)到第一條記錄。MoveLast把記錄指針移動(dòng)到最后一條記錄。MoveNext把記錄指針移動(dòng)到下一條記錄。MovePrevious 把記錄指針移動(dòng)到上一條記錄。 NextRecordset通過執(zhí)行一系列命令清除當(dāng)前 Recordset 對象并返回下一個(gè) Recordset。Open打開一個(gè)數(shù)據(jù)庫元素,此元素可提供對表的記錄、查詢的結(jié)果或保存的 Recordset 的訪問。Requery通過重新

13、執(zhí)行對象所基于的查詢來更新 Recordset 對象中的數(shù)據(jù)。Resync從原始數(shù)據(jù)庫刷新當(dāng)前 Recordset 中的數(shù)據(jù)。Save把 Recordset 對象保存到 file 或 Stream 對象中。Seek搜索 Recordset 的索引以快速定位與指定的值相匹配的行,并使其成為當(dāng)前行。Supports返回一個(gè)布爾值,此值可定義 Recordset 對象是否支持特定類型的功能。Update保存所有對 Recordset 對象中的一條單一記錄所做的更改。UpdateBatch把所有 Recordset 中的更改存入數(shù)據(jù)庫。請?jiān)谂履J街惺褂?。集合集合描述Fields指示在此 Recor

14、dset 對象中 Field 對象的數(shù)目。Properties包含所有 Recordset 對象中的 Property 對象。Fields 集合的屬性屬性描述Count返回 fields 集合中項(xiàng)目的數(shù)目。以 0 起始。例子:countfields = rs.Fields.CountItem(named_item/number返回 fields 集合中的某個(gè)指定的項(xiàng)目。例子:itemfields = rs.Fields.Item(1或者 itemfields = rs.Fields.Item("Name"Properties 集合的屬性屬性描述Count返回 propert

15、ies 集合中項(xiàng)目的數(shù)目。以 0 起始。例子:countprop = rs.Properties.CountItem(named_item/number返回 properties 集合中某個(gè)指定的項(xiàng)目。例子:itemprop = rs.Properties.Item(1或者itemprop = rs.Properties.Item("Name"八、Command 對象ADO Command 對象用于執(zhí)行面向數(shù)據(jù)庫的一次簡單查詢。此查詢可執(zhí)行諸如創(chuàng)建、添加、取回、刪除或更新記錄等動(dòng)作。如果該查詢用于取回?cái)?shù)據(jù),此數(shù)據(jù)將以一個(gè) RecordSet 對象返回。這意味著被取回的數(shù)據(jù)能

16、夠被 RecordSet 對象的屬性、集合、方法或事件進(jìn)行操作。雖然CONNECTION的EXECUTE和RECORDSET的OPEN同樣可以執(zhí)行一組操作命令,但是他們都隱含地創(chuàng)建了一個(gè)COMMAND對象。Command 對象的主要特性是有能力使用存儲(chǔ)查詢和帶有參數(shù)的存儲(chǔ)過程。在CONNECTION和RECORDSET之間扮演一個(gè)信息傳遞角色。ProgIDset objCommand=Server.CreateObject("ADODB.command"屬性屬性描述ActiveConnection設(shè)置或返回包含了定義連接或 Connection 對象的字符串。Command

17、Text設(shè)置或返回包含提供者(provider)命令(如 SOL 語句、表格名稱或存儲(chǔ)的過程調(diào)用)的字符串值。默認(rèn)值為 ""(零長度字符串)。CommandTimeout設(shè)置或返回長整型值,該值指示等待命令執(zhí)行的時(shí)間(單位為秒)。默認(rèn)值為 30。CommandType設(shè)置或返回一個(gè) Command 對象的類型Name設(shè)置或返回一個(gè) Command 對象的名稱Prepared指示執(zhí)行前是否保存命令的編譯版本(已經(jīng)準(zhǔn)備好的版本)。State返回一個(gè)值,此值可描述該 Command 對象處于打開、關(guān)閉、連接、執(zhí)行還是取回?cái)?shù)據(jù)的狀態(tài)。方法方法描述Cancel取消一個(gè)方法的一次執(zhí)行。

18、CreateParameter創(chuàng)建一個(gè)新的 Parameter 對象Execute執(zhí)行 CommandText 屬性中的查詢、SQL 語句或存儲(chǔ)過程。INDEX.HTML文件用戶名20111105密碼提交" id="Submit" />  重置" id="label2" />Database.asp<%LANGUAGE="javascript" CODEPAGE="936"%><%var u_id1,_u_pwd1;u_id1=(Request.Form(

19、"u_name"u_pwd1=(Request.Form("u_pwd"/u_id1=u_id1.toString(;/u_pwd1=u_pwd1.toString(;var con;con=Server.CreateObject("ADODB.Connection"/con.Open("dsn=sqldb;uid=sa;pwd=zouguoxia;database=dbtest"/利用ODBC連接con.Open("driver=SQL Server;Server=zouguoxia;UID=SA;PWD=ZOUGUOXIA;database=dbtest"

溫馨提示

  • 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

提交評論