国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

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

2019-11-18 22:38:12
字體:
供稿:網(wǎng)友
在前面我們介紹了文件版本的留言簿,現(xiàn)在我們不妨來設(shè)想一下:如果留言文件里面的留言很多,而你又急于想尋找其中的某條留言時,這時打開txt留言文件,對著一段段的留言記錄,你敢擔保你不會當場暈倒嗎?而且文件留言簿最令人討厭還遠不只是這個原因,更氣人的是:譬如你已經(jīng)找到了你要找的留言,而且是非要將其刪除不可(當然是因為那段留言竟毫不留情地往你臉上抹黑的緣由啦),那么此時其余想對你大發(fā)贊賞之言的朋友,就會因為你正在做留言刪除的操作而不能留言了。看,這有多可惜!不過,你也無須嘆氣,雖然留言文件不能供多人共用,但是改成數(shù)據(jù)庫來管理留言記錄,當你在做刪除留言的期間,訪問者的留言還是可以加進來的。既然數(shù)據(jù)庫留言簿能對你的系統(tǒng)如此照顧入微,我們現(xiàn)在就事不宜遲,立即來揭開她的廬山真面目。

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

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

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

步驟二:設(shè)計一個留言表單的網(wǎng)頁也同樣是不可或缺的。(如:guestbook0.htm)。  
步驟三:又到編寫處理留言的asp程序了。(我們可以將下述代碼COPY下來,然后另存為manage0a.asp文件。)
< !--#include file="adovbs.inc" -->
'調(diào)用adovbs.inc文件,所謂inc 文件顧名思義是include file的意思,adovbs.inc是IIS/PWS所提供的文件,存放著ADO相關(guān)常數(shù)的定義,使用inc文件可以使我們的程序,增加可讀性,更易于開發(fā)和維護。
< % 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)用服務(wù)器對象的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ù)類型都有設(shè)為“備注”,我們則再無需擔心上網(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è)置成從留言表單上取下的對應的數(shù)據(jù)。
conn.Execute sql
'執(zhí)行sql指令。
%>  
    
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 绥芬河市| 铜梁县| 泌阳县| 金华市| 高阳县| 镇赉县| 吐鲁番市| 诏安县| 汽车| 天气| 齐齐哈尔市| 乐山市| 涿鹿县| 油尖旺区| 通河县| 庄浪县| 色达县| 常宁市| 鸡西市| 剑河县| 阳东县| 林西县| 大足县| 梁河县| 广宗县| 射阳县| 运城市| 高邮市| 广德县| 和林格尔县| 龙游县| 霍林郭勒市| 内乡县| 荆门市| 广德县| 城固县| 衡阳县| 监利县| 新化县| 商南县| 北海市|