|
原文作者:Alan Saldanha
微軟公司的ASP加上IIS3.0就能為網(wǎng)站建設(shè)、INTRANET應(yīng)用提供一個(gè)靈活的構(gòu)建方法,他可以方便地訪問ODBC兼容的數(shù)據(jù)庫。
這篇文章中,我們將學(xué)到數(shù)據(jù)庫的基本操作,比如建立、添加記錄、刪除記錄、編輯記錄等。
使用ASP建立的動(dòng)態(tài)主頁與瀏覽器無關(guān),也就是說,你不論用哪種瀏覽器都能瀏覽ASP的頁面,使用JSCRIPT和VBSCRIPT加上一些其他ASP元件,你就能在你的INTRANET應(yīng)用中使用ASP。使用ASP不僅意味著您可以讀取ACCESS和SQL SERVER的數(shù)據(jù)庫,同時(shí)也意味著你可以讀取其他ODBC兼容的數(shù)據(jù)庫。 使用ASP將比編寫CGI快的多,對(duì)于那些習(xí)慣VISUAL BASIC的人來說, ASP將是最好的選擇。
其他的如 Chili!ASP 功能上與ASP差不多,可以用在許多WWW平臺(tái)上,甚至一些UNIX服務(wù)器(比如重慶太陽城,Linux ,ASP腳本用的是PERL語言。譯注)。
在調(diào)試ASP代碼時(shí),我沒有使用調(diào)試器,我發(fā)現(xiàn)大多數(shù)錯(cuò)誤都是由于我的拼寫錯(cuò)誤引起的,或者是在HTML中嵌入變量時(shí)沒有使用?。(官懽曏HTML中引用ASP變量值,或者輸出,我在第一篇文章中有說明。譯注)。
這里提供的代碼僅是一個(gè)例子,不能用做一個(gè)應(yīng)用。如果在沒有記錄時(shí),您嘗試刪除記錄或編輯記錄,程序并沒有處理這種情況。這個(gè)例子是在NT4.0上建立的,數(shù)據(jù)庫用MS Access 7,你必須有32位的ODBC驅(qū)動(dòng)程序。(如果你安裝了IIS3。0或ACCESS,那自然是已經(jīng)有了,譯注)
下面的例子包含了數(shù)據(jù)庫的基本操作,但是這些操作可能每一個(gè)用ASP訪問數(shù)據(jù)庫的人都會(huì)用到。你可以往數(shù)據(jù)庫中添加記錄,編輯或刪除記錄。
圖一:數(shù)據(jù)庫Microsoft Access
數(shù)據(jù)庫
我用ACCESS的數(shù)據(jù)庫做,建立一個(gè)數(shù)據(jù)庫user.mdb
他包含兩個(gè)表:TblUser,TblUserAccess.
TblUSer, 包含用戶的一些信息,有以下字段: -用戶名,用戶登錄名 ,用戶口令,登錄時(shí)間和訪問級(jí)別 (USERNAME, USERLOGIN, USERPASSWORD, USERENTRYDATE, and ACCESSID). ACCESSID, 用戶級(jí)別指向表TblUserAccess中的 ACCESSID字段. 表 TblUserAccess 用來定義訪問級(jí)別- ACCESSDESC
DSN
一旦你建好了數(shù)據(jù)庫,你需要為數(shù)據(jù)庫建立一個(gè)DSN入口,不防給他取名叫:UserDB1. 照下面的步驟去做:(關(guān)于DSN,我將在本文末做介紹,譯注)
單擊摽紨,選設(shè)置控制面板。
雙擊圖標(biāo) "32位 ODBC",將彈出一個(gè)對(duì)話框,選標(biāo)簽 "System DSN"
單擊 "Add" 添加一個(gè) DSN 入口, 選擇 "Microsoft Access Drive".確認(rèn)。
在 "Data Source Name" 欄里輸入 "UserDB1", 然后單擊"Select" 選擇數(shù)據(jù)庫,你可以按"Browse" 來選中 users.mdb.你可以把數(shù)據(jù)庫放在任何位置,比如建立一個(gè)目錄來放吧: c:\inetsrv\wwwroot\users\users.mdb
圖二:連接數(shù)據(jù)庫,方法一
連接數(shù)據(jù)庫 方法一
ASP提供兩種方法來訪問數(shù)據(jù)庫。在第一中方法中,你首先必須建立一個(gè)連接,之后,你可以加載任何合法的SQL語句。最后,關(guān)閉連接。 一些代碼你可以直接拿來用。圖二中,用揢serDB1斪鯠SN,建立連接后,可以用Execute加載任何合法的SQL語句。之后,在一個(gè)循環(huán)中引用數(shù)據(jù)。必須注意的是,在最后一定要記住關(guān)閉連接。
圖三:連接數(shù)據(jù)庫 方法二
SUB Session_OnStart
'---- Open ADO connection to database
Conn.Open "UsersDB1", "userdblogin","userdbpassword"
END SUB
圖四:文件Global.asa 中用于連接的串
Conn.Open "UserDB1", "userdblogin","userdbpassword"
連接數(shù)據(jù)庫 方法二:
另外一種方法是在用戶的SESSION中建立連接。當(dāng)SESSION結(jié)束時(shí),關(guān)閉連接。這要用到文件Global.asa.每一個(gè)基于ASP的INTRANET應(yīng)用都可以有一個(gè)global.asa,它應(yīng)當(dāng)存放在這個(gè)應(yīng)用的根目錄下。在 global.asa 文件中可以定義四個(gè)事件處理程序,四個(gè)事件是:- Application-Start , Session-Start, Application-End 和 Session-End. 你可以在事件session-Start 中打開數(shù)據(jù)庫連接,在事件Session-End 中關(guān)閉連接。
在圖四中,用用戶名搖serdblogin",口令"userdbpassword"建立了一個(gè)到DSN "UserDB1"的連接。在整個(gè)SESSION中都可以使用連接"Conn".
大家可以看例子default.asp 和文件global.asa.
圖五:取得表單元素的值.
Action = Request.Form("Action")
從表單中取得信息
在基于ASP的應(yīng)用中,你可以將ASP的例程代碼放在一個(gè)專門的文件中,然后在需要的地方用"include"包含進(jìn)來。圖五中取得表單元素"Action"的值
圖六:生成控制條
|