訪問數(shù)據(jù)庫(5)
這一章我要向大家講的是如何利用asp去做一些實際的事情。 想必大家都有用記數(shù)器的經(jīng)驗,在沒有asp的時候,我們的辦法是去一個網(wǎng)站上申請一個,那樣的效果是不錯的。在使用別人的記數(shù)器的時候,我們是否有想過他們的程序昌怎么寫的,我們用asp可不可以實現(xiàn)呢?答案是肯定的,我們利用asp和access數(shù)據(jù)庫,可以很方便地做到這一點。下面,就讓我們開始吧!
首先,我們要先規(guī)劃一下這個程序的整體構(gòu)思。首先是一個申請程序,這可以是一個簡單的具有表單的asp頁面。另外就是主頁面。在主頁面中,用戶把他們的用戶名和口令通過get方法提交給我們的主程序,我們暫且把它命名為count.asp,然后我們對用戶名和口令進(jìn)行數(shù)據(jù)庫分析,看是否有此用戶,以及它的密碼是否正確。如果正確,則讀取此用戶的數(shù)據(jù)庫記錄,即將他的記數(shù)數(shù)據(jù)讀出。然后把他的記數(shù)數(shù)加一。最后關(guān)閉這個數(shù)據(jù)庫。至此,我們已經(jīng)把數(shù)據(jù)讀取出來了,下一步的工作便是將數(shù)據(jù)處理成圖形的形式。如123456,我們可以把它變成圖形的。這對我們來說,只不過是一碟小菜,請看下面的程序(假設(shè)我們讀取出來的記數(shù)值存儲在變量count中):
countlen=len(count) for i=1 to countlen response.write "< IMG src=http://cfan.net.cn/info/"".gif>" next
試一試,是不是很簡單呢?哈哈!
我們的核心程序已經(jīng)寫出來了,下面我給出所有的程序:
'從用戶請求命令中得到用用戶名和密碼 user=request.querystring("user") pwd=request.querystring("pwd")
'打開數(shù)據(jù)庫并開始驗證用戶名和密碼 set objconn=server.createobject("adodb.connection") objconn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & SERVER.MapPath("count.mdb") set rslogin=objconn.execute ("select * from tab where user='"&user&"' and pwd='"&pwd&"'") if rslogin.eof then call error else call ok
'以下是驗證密碼部份 '密碼錯誤 sub error response.write("對不起,不存在此用戶或您的密碼不正確!") '關(guān)閉連接 objconn.close end sub
'密碼正確 sub ok '讀取用戶的記數(shù)值 count=rslogin("count") '格式化數(shù)字為圖形 countlen=len(count) for i=1 to countlen response.write "< IMG src=http://cfan.net.cn/info/"".gif>" next '把用戶的記數(shù)值加一 count=count+1 '把新的記數(shù)值寫入數(shù)據(jù)庫中 objconn.execute "update tab set count='"&count&"'" '關(guān)閉連接 objconn.close end sub
好像寫完了,是的,寫完了!原來很神秘的東西怎么這么簡單!是的,世界就是這么簡單! 喔,差點忘了,我是不是應(yīng)該講一講count.mdb這個數(shù)據(jù)庫的結(jié)構(gòu)呢?這個數(shù)據(jù)庫包括一個表tab,這個表中只有三個字段,它們是user,pwd,count。其中user指的是用戶名,pwd是用戶密碼,count是用戶的記數(shù)值。
下面,可以試一下我們的勞動成果了。在tab表中建立一個記錄,其中user=a,pwd=a,count=10 在我們的網(wǎng)址后面加上?user=a&pwd=a
例如:www.mysite.com\test.asp?user=a&pwd=a
怎么樣,可以了吧!
還有的是申請頁面,想必這個大家一定沒有什么問題!好了,下節(jié)課再見!
|