实现有管理功能的ASP留言板

发表于:2007-06-30来源:作者:点击数: 标签:
今天我们来写一个有管理功能的留言板程序。所谓的管理功能,其实就是每条留言前有一个选择框,点中要删除的留言,或者点“删除所有留言”,就完成了批量删除。通过这一实例,我们可以初步了解ASP中对数据库的基本操作。 一、建立数据库(A CC ESS2000中文版) m
今天我们来写一个有管理功能的留言板程序。所谓的管理功能,其实就是每条留言前有一个选择框,点中要删除的留言,或者点“删除所有留言”,就完成了批量删除。通过这一实例,我们可以初步了解ASP中对数据库的基本操作。

  一、建立数据库(ACCESS2000中文版)

myid 文本型 20字节 这是发言的唯一标志
myname 文本型 10字节 这是保存留言人姓名的
nowtime 日期/时间型 这里记录了留言时间
mytitle 文本型 30字节 这是留言的题目
mybody 备注 留言内容

  其中的myid字段是关键,它是删除的唯一标志。

  二、管理程序

manage.asp代码
‘’先定义变量
dim listrs,conn,cmd
‘’可根据实际留言数量修改i的循环次数
for i=1 to 100
if request("delit"&i)<>empty then
‘’上面这条语句为关键部分,检查第i条留言是否被选中,若被选中,则执行下面的删除操作
Set conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
‘’mappath函数要用一个参数guestbook.mdb,表示要连接的数据库,注意路径问题
conn.Open sConnection
‘’再连接数据表
set cmd=Server.Createobject("ADODB.Command")
set cmd.activeconnection=conn
cmd.commandtext="delete from guest where myid=‘’"&request("delit"&i)&"‘’"
‘’上面的guest是数据表的表名,myid是字段名
cmd.execute
set conn=Nothing
set cmd=Nothing
‘’执行SQL指令及释放对象
end if
next
‘’输出表单,注意action属性指向manage.asp
response.write ""
‘’连接数据库
set conn=Server.CreateObject("ADODB.Connection")
set listrs=server.createobject("ADODB.Recordset")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
conn.Open sConnection
listrs.open "select * from guest",conn,2,2
‘’上面打开了数据库的guest表
i=1
‘’变量i开始记数
while not listrs.eof
response.write "来自:"&listrs("myname")&"----"&listrs("mytitle")&"时间:"&listrs("nowtime")&"
"&listrs("mybody")&"
"
i=i+1
‘’上面两步是关键处,输出每条留言的同时,输出一个checkbox复选框,此框功能是选中与不选中将返回不同值
listrs.movenext
wend
set listrs=Nothing
‘’输出提交按钮和表单结束标志
response.write

三、代码分析

  代码不太好理解,且听我说来:

  1.程序首次执行时,if request("delit"&i)<>empty then总是返回假值,因为复选框未被选中,接着输出所有的留言。

  2.在选中了要删除的留言后,按下“删除按钮”,重新执行。

  3.删除全部选中的留言后,再输出留言板。





原文转自:http://www.ltesting.net