久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

ASP進階教程Ⅷ:數(shù)據(jù)庫版本的留言簿

來自站長百科
跳轉(zhuǎn)至: 導航、? 搜索

如何建立自已的數(shù)據(jù)庫版本的留言簿,我們還是通過分步驟的方法來說明吧。要編寫一個數(shù)據(jù)庫版本的留言簿,我們大致可以從以下三個步驟來完成。


步驟一:使用Access先建立用來存放留言的數(shù)據(jù)表。(當然,如果你想使你的數(shù)據(jù)庫能很好地工作在高需求、高質(zhì)量的Web應用程序的客戶-服務器數(shù)據(jù)庫,而且無論是在性能還是在可靠性上都能經(jīng)受得起嚴格的考驗,那么你最好是用服務器等級的數(shù)據(jù)庫,如:SQL server、Oracle等。對于非服務器等級的數(shù)據(jù)庫,我推薦使用Access中文版來建立。凡是用Access來建立的數(shù)據(jù)表,都是以.mdb為后綴名,如:book0.mdb。)


Access的界面非常友好,操作也非常簡便,相信聰明的讀者們,即使以往從未用過Access的,只要動手試試,也定能很快對其駑駕自如,所以我在這里也就不再贅述(當然也不排除有那么幾分懶惰的成份)。


步驟二:設計一個留言表單的網(wǎng)頁也同樣是不可或缺的。(如:guestbook0.htm)。


步驟三:又到編寫處理留言的ASP程序了。(我們可以將下述代碼COPY下來,然后另存為manage0a.asp文件。)


$#@60; !--#include file="adovbs.inc" --$#@62;


調(diào)用adovbs.inc文件,所謂inc 文件顧名思義是include file的意思,adovbs.inc是IIS/PWS所提供的文件,存放著ADO相關(guān)常數(shù)的定義,使用inc文件可以使我們的程序,增加可讀性,更易于開發(fā)和維護。


$#@60; % Function SqlStr( data )

SqlStr = "" & Replace( data ", "" ) & ""

End Function


這里用了SqlStr函數(shù),其作用是將數(shù)據(jù)中的一個單引號改成兩個單引號,并且在前后加上單引號。之所以要用該函數(shù)是由于上網(wǎng)者輸入的數(shù)據(jù)必須以用單引號括起來的形式輸入的數(shù)據(jù)與Insert Into命令組合在一起,但是如果用戶輸入的數(shù)據(jù)含有單引號,則輸入的數(shù)據(jù)將會產(chǎn)生錯誤,因此輸入的數(shù)據(jù)必須經(jīng)過SqlStr的切換(將單引號切換成兩個單引號)才是正確的。


Name = Request("Name")

Tel=Request("Tel")

Email = Request("Email")

Subject = Request("Subject")

Memo = Request("Memo")


從留言表單取得數(shù)據(jù)


If Name = "" Or Tel="" Or Email = "" Or Subject = "" Or Memo = "" Then Response.Write "輸入框不能為空白!"

Response.End

End If


檢查表單的各輸入框是否有信息輸入,若留有空輸入框沒填則顯示說明信息:"輸入框不能為空白!" 并停止執(zhí)行下面的程序。


Set conn = Server.CreateObject("ADODB.Connection")


用Server.CreateObject取得對象ADODB.Connection。因為在ASP中,如果要訪問數(shù)據(jù)必須首先創(chuàng)建與數(shù)據(jù)庫的鏈接,因此建立連接是存取Web數(shù)據(jù)庫不可缺少的步驟,執(zhí)行以上語句之后,conn便是一個Connection對象。


DBPath = Server.MapPath("book0.mdb")


通過調(diào)用服務器對象的MapPath方法來獲取book0.mdb的完整路徑。


conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath


因為我們想打開的是Access(.mdb)數(shù)據(jù)庫,所以我們要透過Access的ODBC驅(qū)動程序{Microsoft Access Driver (*.mdb)}來存取數(shù)據(jù)庫,dbp參數(shù)則是用來指定想打開的數(shù)據(jù)庫文件,因為它必須是完整路徑名稱,所以我們上一語句用了Server.MapPath 函數(shù) 。


Name = Left( Name, 40 )

Tel = Left(Tel,10)

Email = Left( Email, 80 )

Subject = Left( Subject, 127 )


截短輸入到各字段里數(shù)據(jù)的長度,以避免因輸入到某一字段中的數(shù)據(jù)超長而引發(fā)的錯誤,當然假如我們將數(shù)據(jù)庫book0.mdb中的各字段的數(shù)據(jù)類型都有設為“備注”,我們則再無需擔心上網(wǎng)者所輸入的數(shù)據(jù)有多長。


sql = "Insert Into GuestBook (姓名, 電話, Email, 主題, 留言) Values( "

sql = sql & SqlStr(Name) & ", "

sql = sql & SqlStr(Tel) & ", "

sql = sql & SqlStr(Email) & ", "

sql = sql & SqlStr(Subject) & ", "

sql = sql & SqlStr(Memo) & ")"


在"guestbook"數(shù)據(jù)表中增加一個數(shù)據(jù)記錄,然后把其中的各字段 (姓名, 電話, Email, 主題, 留言)分別設置成從留言表單上取下的對應的數(shù)據(jù)。


conn.Execute sql


執(zhí)行sql指令。


%$#@62;