访问数据库(5)

80酷酷网    80kuku.com

  

访问数据库(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://edu.cnzz.cn/NewsInfo/.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://edu.cnzz.cn/NewsInfo/.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

例如:

怎么样,可以了吧!

  还有的是申请页面,想必这个大家一定没有什么问题!好了,下节课再见!

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: