今天我们来写一个有管理功能的留言板程序。所谓的管理功能,其实就是每条留言前有一个选择框,点中要删除的留言,或者点“删除所有留言”,就完成了批量删除。通过这一实例,我们可以初步了解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.删除全部选中的留言后,再输出留言板。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器