文章詳情頁
使用 Database Access(數(shù)據(jù)庫訪問)組件
瀏覽:186日期:2023-10-27 09:16:22
ASP 的 Database Access 組件使用 ActiveX Data Objects (ADO) 提供一種輕而易舉的方法,可以訪問存儲在數(shù)據(jù)庫或其他表格式數(shù)據(jù)結(jié)構(gòu)(如電子表格)中的信息,只要它們遵循 Open Database Connectivity (ODBC) 標(biāo)準(zhǔn)即可。在本課中,您將連接到一個 Microsoft? Access 客戶數(shù)據(jù)庫,并且顯示目錄列表。您將學(xué)習(xí)如何使用 SQL SELECT 語句來檢索數(shù)據(jù),并且創(chuàng)建一個 HTML 表格來顯示結(jié)果 。 ---------------------------------------------------------------------- 識別數(shù)據(jù)庫 在通過 Database Access 組件使用一個數(shù)據(jù)庫之前,必須在“控制面板”的 ODBC 程序中識別這個數(shù)據(jù)庫。在本例中,您將使用本教程提供的一個 Microsoft Access 數(shù)據(jù)庫。;; 在運(yùn)行 Web 服務(wù)器 (localhost) 的計算機(jī)上,打開“控制面板”。 雙擊“ODBC”圖標(biāo),然后單擊“系統(tǒng) DSN”選項(xiàng)卡。;; DSN 將告訴數(shù)據(jù)庫驅(qū)動程序(用來配置數(shù)據(jù)庫并與其通訊的程序)數(shù)據(jù)庫文件所在的位置。您可以創(chuàng)建 3 種類型的 DSN: 用戶 DSN (User DSN),只能對您起作用; 系統(tǒng) DSN (System DSN),可以對計算機(jī)的所有用戶起作用; 文件 DSN (File DSN),將 DSN 信息保存為文件,并且允許所有用戶使用相同的數(shù)據(jù)庫驅(qū)動程序。本教程使用的 DSN 必須是系統(tǒng) DSN (System DSN) 。 單擊“添加”,選擇“Microsoft Access 驅(qū)動程序”,然后單擊“完成”。; 在“數(shù)據(jù)源名稱”框中,鍵入 ASPTutorial,然后單擊“選擇”。選擇 BTCustmr.mdb 文件(默認(rèn)情況下位于WINNTHelpIISHtmTutorial 目錄中),然后單擊“確定”。 查找文字“Tutorial Lesson - ADO Connection”,腳本將插入到找到的文字行之后。;; 必須先創(chuàng)建一個對象的實(shí)例,然后才能使用它。請復(fù)制并粘貼以下腳本命令: <% Set objConnection = Server.CreateObject('ADODB.Connection'); 如果在此以前,另一個用戶已經(jīng)學(xué)完了教程的這一部分,那么這些腳本命令就已經(jīng)在“Tutorial Lesson”注釋行以下了。請用復(fù)制的腳本覆蓋已有的腳本,或者將未使用過的 Database.asp 從 Template 子目錄 (C:WINNTHelpiishtmtutorial/template) 復(fù)制到 Tutorial 目錄中。 對于 Database Access 組件來說,您必須指定 ODBC 數(shù)據(jù)源(要從其中檢索數(shù)據(jù)的數(shù)據(jù)庫),方法是打開一個到數(shù)據(jù)庫的連接。復(fù)制并粘貼以下腳本命令:;; objConnection.Open 'ASPTutorial' 使用 Database Access 組件的 Execute 方法,可以向數(shù)據(jù)庫發(fā)送一個將結(jié)構(gòu)化查詢語言 (Structured Query Language, SQL) 的 SELECT 命令,并且將返回的記錄保存到結(jié)果集合 (rsCustomersList) 中。請將下列腳本命令復(fù)制并粘貼到objConnection.Open 語句之后:; SQLQuery = 'SELECT * FROM Customers';; Set rsCustomersList = objConnection.Execute(SQLQuery);;;;; %> 如果將 SQL 查詢字符串直接傳遞給 Execute 方法,而不是先給變量 SQLQuery賦值,就可以將這兩行合并。當(dāng) SQL SELECT 行比較長時,為使腳本易讀一些,可以將字符串賦值給一個變量(如 SQLQuery),然后將變量名傳遞給 Execut方法。;; 顯示返回的結(jié)果集合 您可以將結(jié)果集合視為一個表格,這個表格的結(jié)構(gòu)由 SQL SELECT 語句中的字段決定。顯示檢索返回的行,就象在結(jié)果集合中按行數(shù)執(zhí)行循環(huán)一樣簡單。在本示例中,返回的數(shù)據(jù)顯示在 HTML 表格行中。 在 Database.asp 文件中,查找文字“Tutorial Lesson - Display ADO Data”,將以下腳本復(fù)制并粘貼到找到的行之后: <% Do Until rsCustomersList.EOF%> <tr>;;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('ContactFirstName')%> <%= rsCustomersList('ContactLastName') %> </td>;;; <td bgcolor='f7efde' align=center>;;;; <a href='mailto:<%= rsCustomersList('ContactLastName')%>'> <%= rsCustomersList('ContactLastName')%> </a>;;; </td>;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('City')%> </td>;;; <td bgcolor='f7efde' align=center>;;;; <%= rsCustomersList('StateOrProvince')%> </td>;;; </tr>;;; 如果在此以前,另一個用戶已經(jīng)學(xué)完了教程的這一部分,那么這些腳本命令就已經(jīng)存在了。用復(fù)制的腳本覆蓋已有的腳本,或者將未使用過的 Bayshore.asp 從 Template 目錄復(fù)制到 Tutorial 目錄中。 當(dāng)條件為“真”時,VBScriptDo...Loop 語句重復(fù)執(zhí)行一段語句。被重復(fù)執(zhí)行的語句可以是腳本命令或 HTML 文本和標(biāo)記。因此,在循環(huán)的每次重復(fù)中,您都可以用 HTML 畫出表格行,并且用腳本命令插入返回的數(shù)據(jù)。 要完成循環(huán),還要使用 MoveNext 方法來移動行指針到下一行。因?yàn)檫@一語句仍然在 Do...Loop 語句中,所以它一直重復(fù),直到到達(dá)文件結(jié)尾才停止。請復(fù)制以下腳本,并將其粘貼到“Tutorial Lesson - Retrieve Next Row”行之后:; <% rsCustomersList.MoveNext;;;; Loop;;;; %> 以純文本格式保存 Database.asp 文件,并且退出文本編輯器。注意文件后綴 .asp 不要被文本編輯器替換。;; 若要驗(yàn)證您創(chuàng)建的 ASP 頁是否正常運(yùn)行,請將您的瀏覽器導(dǎo)向 http://localhost/IISHelp/IIS/Help/Htm/Tutorial/Database.asp。(此后若要返回本教程,只要在瀏覽器中單擊“上一頁”或“Back”按鈕即可。) 自學(xué)參考 如果您正使用 Windows NT,要參閱更完整的 Database Access 組件示例,可以訪問 Exploration Air 示范節(jié)點(diǎn)。單擊 Behind the Scenes 圖像,可以學(xué)習(xí)用來創(chuàng)建這個 Web 節(jié)點(diǎn)的腳本的更多知識。在 Bayshore Travel Web 頁上也有指向 Exploration Air 示范節(jié)點(diǎn)的鏈接。;;; 注意 如果您還沒有訪問 Exploration Air 示范節(jié)點(diǎn),上面的鏈接將把您帶到 Exploration Air 主頁。此后若要返回本教程,只要在瀏覽器中單擊“上一頁”或“Back”按鈕即可。 現(xiàn)在,您已經(jīng)用過了 ActiveX 組件,讓我們來學(xué)習(xí) 模塊 3:編寫自己的組件。 ---------------------------------------------------------------------- 模塊 3:編寫自己的組件 請選擇本課的腳本語言。 在模塊 2 中,您已經(jīng)熟悉了 ASP 提供的組件,現(xiàn)在該創(chuàng)建自己的組件來滿足自己的特殊需要了。;; 假設(shè)您需要創(chuàng)建一個 ASP 程序,以便通過 Web 節(jié)點(diǎn)提供特定的財務(wù)功能。ASP沒有直接提供這樣的功能,不過您可以通過創(chuàng)建自己的 Java 或 ActiveX 組件來解決問題。您將在本模塊中學(xué)會這些。;;;; 如果要學(xué)習(xí)如何創(chuàng)建并使用組件,首先使用下面的表格進(jìn)行選擇:;---------------------------------------------------------------------- 選擇本課要創(chuàng)建的組件類型:;; Visual Basic 5.0 ActiveX 組件; Visual J++ 1.1 Java? 組件;;;---------------------------------------------------------------------- 要點(diǎn);;;; 若要保存并查看您在本模塊中的工作結(jié)果,需要:;;;; 對 localhost Web 服務(wù)器上的 /iishelp/iis/htm/tutorial 虛擬目錄具有“寫 (Write)”和“改編 Web 服務(wù)器 (Script Web server)”權(quán)限。詳細(xì)信息,請參閱 設(shè)置 Web 服務(wù)器權(quán)限。;;;; 您的 Windows NT 帳號,必須在 DriveLetter:WinntSystem32Inetsrv 目錄及其子目錄上具有 Windows NT File System (NTFS) 的讀、寫和運(yùn)行程序權(quán)限(此處的 DriveLetter 代表 localhost Web 服務(wù)器的適當(dāng)?shù)尿?qū)動器號,如果您沒有安裝到默認(rèn)目錄下,請用您的安裝目錄代替 WinntSystem32)。 要完成本模塊,必須在 localhost Web 服務(wù)器上安裝:; Microsoft? Visual Basic 5.0 專業(yè)版的 32 位版本或 Visual Basic 5.0 企業(yè)版開發(fā)系統(tǒng)。 如果已經(jīng)禁止了 Web 瀏覽器運(yùn)行 Java 程序功能,請在開始教程以前啟用該功能。
標(biāo)簽:
Access
數(shù)據(jù)庫
排行榜
