帮我看看有什么问题?一个ASP用复选框选择删除的问题?

tfhui928 2003-07-24 05:33:24
运行通过,但点击BOTTON安钮没有产生删除效果??是什么原因??

<!--#include file="adovbs.inc" -->
<%
set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("../database/softschool.mdb")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "lab_information", conn,adOpenDynamic, adLockPessimistic
%>
<HTML>
<HEAD></HEAD>
<body text="#0000ff" bgColor="#ffffcc">
<form name="from" action="" method="post">

<TABLE id="Table2" cellSpacing="1" cellPadding="1" width="692" align="center" border="1">
<TR class="title" align="middle">

<TD width="95"><div align="center"><font color="#0000ff">机房房间号</font></div></TD>
<TD width="117"><P align="center"><font color="#0000ff">机房管理员编号</font></P></TD>
<TD width="55"><div align="center"><font color="#0000ff">机器数</font></div></TD>
<TD width="242"><div align="center"><font color="#0000ff">软件说明</font></div></TD>
<TD width="113"><div align="center"><font color="#0000ff">机房说明</font></div></TD>
<TD width="37"><div align="center"><font color="#0000ff"><input type="submit" value="删除" name="del"></font></div></TD>

</TR>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "lab_information", conn, adOpenDynamic, adLockPessimistic

if not (rs.EOF and rs.BOF) then
rs.MoveFirst
i=1
do while not rs.EOF

response.Write "<tr class=txtbg align=center>"

response.Write "<td>"
response.Write rs("lab_room_id")
response.Write "</td>"

response.Write "<td>"
response.Write rs("lab_administrator")
response.Write "</td>"

response.Write "<td>"
response.Write rs("lab_computers")
response.Write "</td>"

response.Write "<td>"
response.Write rs("lab_software")
response.Write "</td>"

response.Write "<td>"
response.Write rs("lab_description")
response.Write "</td>"

response.Write "<td>"
%>
<INPUT type="checkbox" name="<%=rs("lab_room_id")%>" value="on"><%=rs(0)%>
<%
response.Write "</td>"
response.Write "</tr>"
i=i+1
rs.MoveNext
loop
end if

%>
</TABLE></form>

<%
dim n
if request.servervariables("request_method")="post" then
rs.movefirst
do while not rs.eof
n=trim(cstr(rs("lab_room_id")))
if request.form(n)="on" then
rs.delete
rs.update
end if
rs.movenext
loop
%>
<script language="javascript">
alert("你已经成功的删除了以上记录")
document.location="Lab_manage.asp"
</script>
<% end if
%>

</body>
</HTML>
<% rs.Close
conn.Close%>
...全文
48 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhlym 2003-08-09
  • 打赏
  • 举报
回复
f
dreamsky 2003-07-24
  • 打赏
  • 举报
回复
你的思路好象完全不对吧,就你删除数据的那一段
表单提交后,不光要再次进行查询(降低页面执行速度),而且rs.delete这种写法我也很怀疑(不过我也不是很了解,只怀疑而已,看看有没有别的高手可以解释的)。
另外你的删除数据的执行,在页面显示数据之后,这样页面显示的数据将仍然包括已经删除的数据。

我的一般做法是,
复选框这么定义,名字都取同一个,但值是这个数据表的关键字段(如定义的是数字字段再好不过了)
<INPUT type="checkbox" name="id" value="<%=rs("lab_room_id")%>">
接收时,
tmpid=request.form("id")
conn.execte("delete from table1 where id in "&tmpid&"")

仅供参考,呵呵,有不同意见,或更好办法,大家都可提

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧