串連資料庫 原文作者:Alan Saldanha
微軟公司的ASP加上IIS3.0就能為網站建設、INTRANET應用提供一個靈活的構建方法,他可以方便地訪問ODBC相容的資料庫。
這篇文章中,我們將學到資料庫的基本操作,比如建立、添加記錄、刪除記錄、編輯記錄等。
使用ASP建立的動態首頁與瀏覽器無關,也就是說,你不論用哪種瀏覽器都能瀏覽ASP的頁面,使用JSCRIPT和VBSCRIPT加上一些其他ASP元件,你就能在你的INTRANET應用中使用ASP。使用ASP不僅意味著您可以讀取ACCESS和SQL SERVER的資料庫,同時也意味著你可以讀取其他ODBC相容的資料庫。 使用ASP將比編寫CGI快的多,對於那些習慣VISUAL BASIC的人來說, ASP將是最好的選擇。
其他的如 Chili!ASP 功能上與ASP差不多,可以用在許多WWW平台上,甚至一些UNIX伺服器(比如重慶太陽城,Linux ,ASP指令碼用的是PERL語言。譯註)。
在調試ASP代碼時,我沒有使用調試器,我發現大多數錯誤都是由於我的拼字錯誤引起的,或者是在HTML中嵌入變數時沒有使用?敗#ü賾讜贖TML中引用ASP變數值,或者輸出,我在第一篇文章中有說明。譯註)。
這裡提供的代碼僅是一個例子,不能用做一個應用。如果在沒有記錄時,您嘗試刪除記錄或編輯記錄,程式並沒有處理這種情況。這個例子是在NT4.0上建立的,資料庫用MS Access 7,你必須有32位的ODBC驅動程式。(如果你安裝了IIS3。0或ACCESS,那自然是已經有了,譯註)
下面的例子包含了資料庫的基本操作,但是這些操作可能每一個用ASP訪問資料庫的人都會用到。你可以往資料庫中添加記錄,編輯或刪除記錄。
圖一:資料庫Microsoft Access
資料庫
我用ACCESS的資料庫做,建立一個資料庫user.mdb
他包含兩個表:TblUser,TblUserAccess.
TblUSer, 包含使用者的一些資訊,有以下欄位: -使用者名稱,使用者登入名稱 ,使用者口令,登入時間和存取層級 (USERNAME, USERLOGIN, USERPASSWORD, USERENTRYDATE, and ACCESSID). ACCESSID, 使用者層級指向表TblUserAccess中的 ACCESSID欄位. 表 TblUserAccess 用來定義存取層級- ACCESSDESC
DSN
一旦你建好了資料庫,你需要為資料庫建立一個DSN入口,不防給他取名叫:UserDB1. 照下面的步驟去做:(關於DSN,我將在本文末做介紹,譯註)
單擊摽紨,選設定控制台。
雙擊表徵圖 "32位 ODBC",將彈出一個對話方塊,選標籤 "System DSN"
單擊 "Add" 添加一個 DSN 入口, 選擇 "Microsoft Access Drive".確認。
在 "Data Source Name" 欄裡輸入 "UserDB1", 然後單擊"Select" 選擇資料庫,你可以按"Browse" 來選中 users.mdb.你可以把資料庫放在任何位置,比如建立一個目錄來放吧: c:\inetsrv\wwwroot\users\users.mdb
圖二:串連資料庫,方法一
串連資料庫 方法一
ASP提供兩種方法來訪問資料庫。在第一中方法中,你首先必須建立一個串連,之後,你可以載入任何合法的SQL語句。最後,關閉串連。 一些代碼你可以直接拿來用。圖二中,用揢serDB1斪鯠SN,建立串連後,可以用Execute載入任何合法的SQL語句。之後,在一個迴圈中引用資料。必須注意的是,在最後一定要記住關閉串連。
圖三:串連資料庫 方法二
SUB Session_OnStart
'---- Open ADO connection to database
Conn.Open "UsersDB1", "userdblogin","userdbpassword"
END SUB
圖四:檔案Global.asa 中用於串連的串
Conn.Open "UserDB1", "userdblogin","userdbpassword"
串連資料庫 方法二:
另外一種方法是在使用者的SESSION中建立串連。當SESSION結束時,關閉串連。這要用到檔案Global.asa.每一個基於ASP的INTRANET應用都可以有一個global.asa,它應當存放在這個應用的根目錄下。在 global.asa 檔案中可以定義四個事件處理常式,四個事件是:- Application-Start , Session-Start, Application-End 和 Session-End. 你可以在事件session-Start 中開啟資料庫連接,在事件Session-End 中關閉串連。
在圖四中,用使用者名稱搖serdblogin",口令"userdbpassword"建立了一個到DSN "UserDB1"的串連。在整個SESSION中都可以使用串連"Conn".
大家可以看例子default.asp 和檔案global.asa.
圖五:取得表單元素的值.
Action = Request.Form("Action")
從表單中取得資訊
在基於ASP的應用中,你可以將ASP的常式代碼放在一個專門的檔案中,然後在需要的地方用"include"包含進來。圖五中取得表單元素"Action"的值
圖六:產生控制條