?? page18.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>第三課</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="Microsoft Border" content="none">
</head>
<body background="../../images/exptextb.jpg">
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<p><font FACE="宋體" size="3"><strong>第三課:使用 Database Access
(數據庫訪問)組件 </strong></p>
</font>
<p><font FACE="宋體" SIZE="2">ASP 的 Database Access 組件使用 ActiveX Data Objects
(ADO)
提供一種輕而易舉的方法,可以訪問存儲在數據庫或其他表格式數據結構(如電子表格)中的信息,只要它們遵循
Open Database Connectivity (ODBC) 標準即可。在本課中,您將連接到一個
Microsoft? Access 客戶數據庫,并且顯示目錄列表。您將學習如何使用
SQL SELECT 語句來檢索數據,并且創建一個 HTML 表格來顯示結果。</p>
<p> </p>
<p>--------------------------------------------------------------------------------</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>--------------------------------------------------------------------------------</p>
<p><strong>識別數據庫</strong></p>
<p>在通過 Database Access
組件使用一個數據庫之前,必須在“控制面板”的 ODBC
程序中識別這個數據庫。在本例中,您將使用本教程提供的一個
Microsoft? Access 數據庫。</p>
<p>在運行 Web 服務器 (localhost) 的計算機上,打開“控制面板”。 </p>
<p> </p>
<p>雙擊“ODBC”圖標,然后單擊“系統 DSN”選項卡。 </p>
<p>DSN
將告訴數據庫驅動程序(用來配置數據庫并與其通訊的程序)數據庫文件所在的位置。您可以創建
3 種類型的 DSN: 用戶 DSN (User DSN),只能對您起作用; 系統 DSN (System
DSN),可以對計算機的所有用戶起作用; 文件 DSN (File DSN),將 DSN
信息保存為文件,并且允許所有用戶使用相同的數據庫驅動程序。本教程使用的
DSN 必須是系統 DSN (System DSN) 。</p>
<p>單擊“添加”,選擇“Microsoft Access
驅動程序”,然后單擊“完成”。 </p>
<p> </p>
<p>在“數據源名稱”框中,鍵入 ASPTutorial,然后單擊“選擇”。選擇
BTCustmr.mdb 文件(默認情況下位于 WINNT\Help\IIS\Htm\Tutorial
目錄中),然后單擊“確定”。 </p>
<p> </p>
<p>單擊“確定”關閉對話框。 </p>
<p><strong>創建組件實例</strong></p>
<p>用文本編輯器打開 localhost Web 服務器上 Tutorial 目錄 (
C:\WINNT\Help\iis\htm\tutorial) 中的 Database.asp 文件。</p>
<p> </p>
<p>查找文字“Define Scripting Language”,將下列腳本插入找到的文字行之后:
</p>
<p><%@ LANGUAGE = "VBScript" %></p>
<p>必須保證這個標記是所有 .asp 文件的第一個腳本行。</p>
<p> </p>
<p>查找文字“Tutorial Lesson - ADO Connection”,腳本將插入到找到的文字行之后。
</p>
<p> </p>
<p>必須先創建一個對象的實例,然后才能使用它。請復制并粘貼以下腳本命令:
</p>
<p><% </p>
<p>Set objConnection = Server.CreateObject("ADODB.Connection") </p>
<p>如果在此以前,另一個用戶已經學完了教程的這一部分,那么這些腳本命令就已經在“Tutorial
Lesson”注釋行以下了。請用復制的腳本覆蓋已有的腳本,或者將未使用過的
Database.asp 從 Template 子目錄 (C:\WINNT\Help\iis\htm\tutorial/template) 復制到
Tutorial 目錄中。</p>
<p> </p>
<p>對于 Database Access 組件來說,您必須指定 ODBC
數據源(要從其中檢索數據的數據庫),方法是打開一個到數據庫的連接。復制并粘貼以下腳本命令:
</p>
<p>objConnection.Open "ASPTutorial" </p>
<p>使用 Database Access 組件的 Execute
方法,可以向數據庫發送一個將結構化查詢語言 (Structured Query
Language, SQL) 的 SELECT 命令,并且將返回的記錄保存到結果集合
(rsCustomersList) 中。請將下列腳本命令復制并粘貼到 objConnection.Open
語句之后: </p>
<p>SQLQuery = "SELECT * FROM Customers" </p>
<p>Set rsCustomersList = objConnection.Execute(SQLQuery)</p>
<p>%></p>
<p>如果將 SQL 查詢字符串直接傳遞給 Execute 方法,而不是先給變量
SQLQuery 賦值,就可以將這兩行合并。當 SQL SELECT
行比較長時,為使腳本易讀一些,可以將字符串賦值給一個變量(如
SQLQuery),然后將變量名傳遞給 Execute 方法。 </p>
<p> </p>
<p><strong>顯示返回的結果集合</strong></p>
<p>您可以將結果集合視為一個表格,這個表格的結構由 SQL SELECT
語句中的字段決定。顯示檢索返回的行,就象在結果集合中按行數執行循環一樣簡單。在本示例中,返回的數據顯示在
HTML 表格行中。 </p>
<p>在 Database.asp 文件中,查找文字“Tutorial Lesson - Display ADO Data”,將以下腳本復制并粘貼到找到的行之后:
</p>
<p><% Do Until rsCustomersList.EOF%></p>
<p><tr></p>
<p><td bgcolor="f7efde" align=center></p>
<p><%= rsCustomersList("ContactFirstName")%> </p>
<p><%= rsCustomersList("ContactLastName") %></p>
<p></td></p>
<p><td bgcolor="f7efde" align=center> </p>
<p><a href="mailto:<%=
rsCustomersList("ContactLastName")%>"></p>
<p><%= rsCustomersList("ContactLastName")%> </a></p>
<p></td></p>
<p><td bgcolor="f7efde" align=center></p>
<p><%= rsCustomersList("City")%></p>
<p></td></p>
<p><td bgcolor="f7efde" align=center></p>
<p><%= rsCustomersList("StateOrProvince")%></p>
<p></td></p>
<p></tr> </p>
<p>如果在此以前,另一個用戶已經學完了教程的這一部分,那么這些腳本命令就已經存在了。用復制的腳本覆蓋已有的腳本,或者將未使用過的
Bayshore.asp 從 Template 目錄復制到 Tutorial 目錄中。</p>
<p>當條件為“真”時,VBScriptDo...Loop
語句重復執行一段語句。被重復執行的語句可以是腳本命令或 HTML
文本和標記。因此,在循環的每次重復中,您都可以用 HTML
畫出表格行,并且用腳本命令插入返回的數據。</p>
<p>要完成循環,還要使用 MoveNext
方法來移動行指針到下一行。因為這一語句仍然在 Do...Loop
語句中,所以它一直重復,直到到達文件結尾才停止。請復制以下腳本,并將其粘貼到“Tutorial
Lesson - Retrieve Next Row”行之后: </p>
<p><% </p>
<p>rsCustomersList.MoveNext </p>
<p>Loop </p>
<p>%></p>
<p>以純文本格式保存 Database.asp
文件,并且退出文本編輯器。注意文件后綴 .asp
不要被文本編輯器替換。 </p>
<p> </p>
<p>若要驗證您創建的 ASP 頁是否正常運行,請將您的瀏覽器導向
http://localhost/IISHelp/IIS/Help/Htm/Tutorial/Database.asp。(此后若要返回本教程,只要在瀏覽器中單擊“上一頁”或“Back”按鈕即可。)
</p>
<p><strong>自學參考 </strong></p>
<p>如果您正使用 Windows NT,要參閱更完整的 Database Access
組件示例,可以訪問 Exploration Air 示范節點。單擊 Behind the Scenes
圖像,可以學習用來創建這個 Web 節點的腳本的更多知識。在 Bayshore
Travel Web 頁上也有指向 Exploration Air 示范節點的鏈接。</p>
<p>注意 如果您還沒有訪問 Exploration Air
示范節點,上面的鏈接將把您帶到 Exploration Air
主頁。此后若要返回本教程,只要在瀏覽器中單擊“上一頁”或“Back”按鈕即可。</p>
<p>現在,您已經用過了 ActiveX 組件,讓我們來學習 模塊 3:編寫自己的組件。
</p>
<p> </p>
<p>--------------------------------------------------------------------------------</p>
<p><strong>模塊 3:編寫自己的組件</strong></p>
<p>請選擇本課的腳本語言。</p>
<p>在模塊 2 中,您已經熟悉了 ASP
提供的組件,現在該創建自己的組件來滿足自己的特殊需要了。</p>
<p>假設您需要創建一個 ASP 程序,以便通過 Web
節點提供特定的財務功能。ASP
沒有直接提供這樣的功能,不過您可以通過創建自己的 Java 或 ActiveX
組件來解決問題。您將在本模塊中學會這些。</p>
<p>如果要學習如何創建并使用組件,首先使用下面的表格進行選擇:</p>
<p> </p>
<p>--------------------------------------------------------------------------------</p>
<p>選擇本課要創建的組件類型:</p>
<p>Visual Basic 5.0 ActiveX 組件</p>
<p>Visual J++ 1.1 Java? 組件</p>
<p> </p>
<p>--------------------------------------------------------------------------------</p>
<p><strong>要點 </strong></p>
<p>若要保存并查看您在本模塊中的工作結果,需要: </p>
<p>對 localhost Web 服務器上的 /iishelp/iis/htm/tutorial 虛擬目錄具有“寫
(Write)”和“改編 Web 服務器 (Script Web server)”權限。詳細信息,請參閱
設置 Web 服務器權限。 </p>
<p>您的 Windows NT 帳號,必須在 DriveLetter:\Winnt\System32\Inetsrv\
目錄及其子目錄上具有 Windows NT File System (NTFS)
的讀、寫和運行程序權限(此處的 DriveLetter 代表 localhost Web
服務器的適當的驅動器號,如果您沒有安裝到默認目錄下,請用您的安裝目錄代替
\Winnt\System32)。 </p>
<p>要完成本模塊,必須在 localhost Web 服務器上安裝: </p>
<p>Microsoft? Visual Basic 5.0 專業版的 32 位版本或 Visual Basic 5.0
企業版開發系統。 </p>
<p>如果已經禁止了 Web 瀏覽器運行 Java
程序功能,請在開始教程以前啟用該功能。 </font></p>
<layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility=hidden id=a1 width=600 onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -