[返回]
中国计算机报2000年第47期

编写ASP图形计数器

褚健耘

  许多主页都用到计数器,而且一般使用的都是网上提供的免费的CGI计数器。用人家的计数器总显得不太方便。其实用ASP编写基于数据库的图形计数器非常简单。

  首先用Access 97建立只含有一个字段的数据库aspcount.mdb,负责计数器的访问累加。用ASP对后台数据库进行读写,再根据要显示的数字调用图形文件。具体实现方法如下:

  1.建立计数器数据库结构

  字段:acounts

  数据类型:长整型

  宽度:20

  2.连接ODBC数据库源

  在“控制面板”中选择“ODBC Data Source…”,在对话框中选择“System DSN”,单击“Add”按钮选择数据库驱动程序“Microsoft Access Driver(*.mdb) 4.0”,在新弹出的对话框中Data Source Name栏里输入“userdbs”,单击“Select”按钮选择aspcount.mdb数据库即可。

  3.ASP对数据库对象操作的语句

  1)从数据库字段中读取内容:

  set rs=server.createobject("adodb.recordset")

  rs.open "select * from aspcount","dsn=userdbs",3,3

  rs.movefirst

  counter=rs(0)

  2)向数据库字段中写入内容:

  rs.open "update aspcount set countss=countss+1","dsn=userdbs",3,3

  4.程序清单

  〈html〉

  〈head〉

  ……

  〈/head〉

  〈body〉

  〈%dim tms,counter,countlen

   dim images(20)

   h1="〈p〉〈font color='#8000ff'〉这是一个ASP计数器〈/font〉〈/p〉"

   set rs=server.createobject("adodb.recordset")

   application.lock

   rs.open "update aspcount set countss=countss+1","dsn=userdbs",3,3

   application.unlock

   set rs=server.createobject("adodb.recordset")

   rs.open "select * from aspcount","dsn=userdbs",3,3

   rs.movefirst

   counter=rs(0)

   countlen=len(counter)

   tms="〈h1〉〈font color='#8000ff'〉您是第〈/font〉"&&counter&&"〈font color='#8000ff'〉位访问者!〈/font〉〈/h1〉"

   response.write(tms)

   for i=1 to countlen

   images(i)="〈img src=" && mid(counter,i,1) && ".gif〉〈/img〉"

   next

   response.write images(1)&&images(2)&&images(3)&&images(4)&&images(5)&&images(6)&&images(7)

   rs.Close

  %〉

  〈/body〉

  〈/html〉

  以上程序在FrontPage 2000、Access 97、Windows 98软件环境下运行通过。