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