原文作者: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中嵌入變量時沒有使用?。(官懽曏HTML中引用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"的值
圖六:生成控制條
|