访问数据库(5)
这一章我要向大家讲的是如何利用asp去做一些实际的事情。 想必大家都有用记数器的经验,在没有asp的时候,我们的办法是去一个网站上申请一个,那样的效果是不错的。在使用别人的记数器的时候,我们是否有想过他们的程序昌怎么写的,我们用asp可不可以实现呢?答案是肯定的,我们利用asp和access数据库,可以很方便地做到这一点。下面,就让我们开始吧!
首先,我们要先规划一下这个程序的整体构思。首先是一个申请程序,这可以是一个简单的具有表单的asp页面。另外就是主页面。在主页面中,用户把他们的用户名和口令通过get方法提交给我们的主程序,我们暂且把它命名为count.asp,然后我们对用户名和口令进行数据库分析,看是否有此用户,以及它的密码是否正确。如果正确,则读取此用户的数据库记录,即将他的记数数据读出。然后把他的记数数加一。最后关闭这个数据库。至此,我们已经把数据读取出来了,下一步的工作便是将数据处理成图形的形式。如123456,我们可以把它变成图形的。这对我们来说,只不过是一碟小菜,请看下面的程序(假设我们读取出来的记数值存储在变量count中):
countlen=len(count) for i=1 to countlen response.write "< IMG src=http://cfan.net.cn/info/"".gif>" next
试一试,是不是很简单呢?哈哈!
我们的核心程序已经写出来了,下面我给出所有的程序:
'从用户请求命令中得到用用户名和密码 user=request.querystring("user") pwd=request.querystring("pwd")
'打开数据库并开始验证用户名和密码 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("对不起,不存在此用户或您的密码不正确!") '关闭连接 objconn.close end sub
'密码正确 sub ok '读取用户的记数值 count=rslogin("count") '格式化数字为图形 countlen=len(count) for i=1 to countlen response.write "< IMG src=http://cfan.net.cn/info/"".gif>" next '把用户的记数值加一 count=count+1 '把新的记数值写入数据库中 objconn.execute "update tab set count='"&count&"'" '关闭连接 objconn.close end sub
好像写完了,是的,写完了!原来很神秘的东西怎么这么简单!是的,世界就是这么简单! 喔,差点忘了,我是不是应该讲一讲count.mdb这个数据库的结构呢?这个数据库包括一个表tab,这个表中只有三个字段,它们是user,pwd,count。其中user指的是用户名,pwd是用户密码,count是用户的记数值。
下面,可以试一下我们的劳动成果了。在tab表中建立一个记录,其中user=a,pwd=a,count=10 在我们的网址后面加上?user=a&pwd=a
例如:www.mysite.com\test.asp?user=a&pwd=a
怎么样,可以了吧!
还有的是申请页面,想必这个大家一定没有什么问题!好了,下节课再见!
|