如今
CGI日漸衰落
ASP大行其道
大有取而代之之勢
對個人主頁制作者而言
CGI也確實太復雜了
尤其是在數據庫的操作上
繁復無比讓人望而生畏
相較而言
ASP則簡單得多
其面向對象的思想
將復雜的底層操作掩蓋
只留下簡單的調用接口
對數據庫的操作更是將它的優點體現得淋漓盡致
本文將簡單介紹在個人主頁中運用ASP連接數據庫
實現動態網頁
相信您在讀完本文後
您的主頁將更加精彩
在ASP中查詢ACCESS 數據庫
ASP能讓我們用簡單的方法在網頁中查詢
更新數據庫
下面將給出的例子用的是MS ACCESS DATABASE
但是其操作的原理卻可同樣地運用在任何支持ODBC的數據庫上
(之所以選擇ACCESS
是因為它容易操作
且被廣泛使用
對大多數的中小型項目而言
ACCESS無疑是最好的選擇
)
先用ACCESS建立一個數據表如下:
用戶編號 姓名 城市 電話號碼
張三 武漢
-
李四 北京
-
王五 上海
-
再請看下面的一段例子:
<%
SET DBCONNECTION=SERVER.CREATEOBJECT(“ADODB.CONNECTION”)
DBCONNECTION.OPEN “DSNNAME”
SQLQUERY=“SELECT * FROM CUSTOMERS”
SET RECUSTIONMERLIST=DBCONNECTION.EXECUTE(SQLQUERY)
%>
< CENTER>
< TABLE BORDER=1>
< % DO WHILE NOT RECUSTOMERLIST.EOF %>
< TR>
< TD><%=RECUSTOMERLIST(“客戶編號”)%>< /TD>
< TD><%=RECUSTOMERLIST(“姓名”)%>< /TD>
< TD><%=RECUSTOMERLIST(“城市”)%>< /TD>
< TD><%=RECUSTOMERLIST(“電話號碼”)%>< /TD>
< /TR>
< % RECUSTOMERLIST.MOVNEXT LOOP %>
< /TABLE>
< /CENTER>
可以看到
ASP的語法是VBSCRIPT
其面向對象的思想也與VB相類似
所以
只要您初通VB或者VBSCRIPT
那ASP可以很容易地上手
上面的一部分可以說是ASP中ADO的精髓所在
下面我們討論一下代碼的內容<%和%>是ASP代碼的開始和結束標志
服務器在返回用戶請求時
先將<%和%>中的內容解釋成為標准的html代碼
再將它發送到客戶浏覽器
存取數據庫時
首先要建立連接
也就是聲明一個CONNECTION類的實例(對象)
然後運用CONNECTION類的OPEN方法
將連接對象連接到一個ODBC數據源上
在上例中就是DSNNAME
這是一個DSN
至於什麼是DSN
後面將有介紹
在此先按下不表
到此
數據庫的連接就已經完成了
下面要進行的是數據庫的操作
操作也是很簡單的
先定義一個SQL語句字串
然後調用CONNECTION的EXECUTE方法執行
執行的結果儲存在一個RECORDSET類(可以看成是一個臨時存放數據的表)的對象中
在上例中是RECUSTOMERLIST
這樣
數據庫的查詢調用也就完成了
再只需將它輸出即可
在DO WHILE
LOOP的循環中輸出時
調用ASP中RESPOND對象的WRITE方法
一般可以簡寫為
=
而語句RECUSTOMERLIST(字段名)返回的是當前紀錄對應字段的值
最後調用的是RECORDSET類的MOVENEXT方法
將紀錄指針移到下一個紀錄
反復執行
直到RECUSTOMERLIST的EOF(文件尾)為真
這樣
就將返回的查詢結果輸出了
上面所講的只是一點ASP數據存取的基本知識
但我們已可略窺ASP強大的功能
現在我們可以通過ASP來存取數據庫
實現動態效果
但還有一個問題:現在提供ASP支持的個人免費網頁
大多數並不提供數據庫的支持
也就是說
你無法在它的數據庫系統中建立並擁有自己的數據庫
若用本地數據庫
你也無法配置服務器主機中的ODBC
無法得到你本地數據庫的DSN
也就不能通過ASP來存取數據庫了
怎麼解決這個問題呢?下面的討論將給出一個簡單的方法
那就是FILE DSN
首先解釋幾個名詞
DSN:根據MICROSOFT的官方文檔
DSN的意思是
應用程序用以請求一個連到ODBC數據源的連接(CONNECTION)的名字
換句話說
它是一個代表ODBC連接的符號
它隱藏了諸如數據庫文件名
所在目錄
數據庫驅動程序
用戶ID
密碼等細節
因此
當建立一個連接時
你不用去考慮數據庫文件名
它在哪兒等等
只要給出它在ODBC中的DSN即可
FILE DSN: 當我們討論這個問題時
先看看其他的DSN類型
SYSTEM DSN:這種DSN可以被任何登錄到系統中的用戶使用
USER DSN:這是為特定用戶建立的DSN
只有建立這個DSN的用戶才能看到並使用它
在上面的兩種情況中
DSN的細節都儲存在系統的注冊表中
知道了上面的預備知識後
讓我們來看看什麼是FILE DSN
FILE DSN 將DSN的細節內容存貯在一個文件中
而不是存貯在系統注冊表中
這個文件是簡單的文本文件
用
dsn作為擴展名
雖然這聽起來挺簡單
但你需要知道那些組成DSN文件的參數
下面給出一個簡單的用來存取ACCESS的DSN文件
---- file
dsn ----
[ODBC]
DRIVER=Microsoft ACCESS Driver (*
mdb)
ReadOnly=
UserCommitSync=Yes
Threads=
SafeTransactions=
PageTimeout=
MaxScanRows=
MaxBufferSize=
ImplicitCommitSync=Yes
FIL=MS ACCESS
DriverId=
將它命名為file
dsn
當然
你可根據你的願意改名
建立了這個文件後
工作已完成了一半
下面的工作是建立一個連接
當用一個SYSTEM DSN時
建立連接只要簡單地引用SYSTEM DSN:
conn
open
mydsn
(conn是連接對象的名字)
當應用如上的FILS DSN 時
你需要加入更多的參數來說明
Conn
open
filedsn=c:\webdir\file
dsn;DBQ=c:\DATABASE\mydb
mdb;UID=admin;PWD=admin;
C:\webdir是
dsn文件所在的目錄
它需要用文件的物理路徑
你可以用SERVER
MAPPATH方法來得到
如Server
MapPath(
/mysite/file
dsn
)
同樣
對於DBQ參數也需如此
UID和PWD參數是可選的
簡而概之
要建立一個可重用的FILE DSN
)用DSN參數建立一個以dsn為擴展名的文本文件
)用FILEDSN和DBQ參數建立連接
你可以用SERVER
MPAPATH來得到物理路徑
)只需更改DBQ
UID和PWD參數
就可將這個FILE DSN用到任何ACCESS數據庫上
需要注意的是
對其他非ACCESS類型的數據庫需要應用不同的參數值和一些附加的參數
From:http://tw.wingwit.com/Article/Fault/201311/10485.html