你的checkbox名字设置为一样的,value为id字段提交后ds=Split(Request("chkName"),",")
for i =0 to UBound(ds)
sql = "delete table where id=" & Trim(ds(i))
cn.execute sql
next
for i =0 to UBound(ds)
sql = "delete table where id=" & Trim(ds(i))
cn.execute sql
next
sql="DELETE FROM table WHERE id IN (" & ids & ")"
rs.open sql.conn
<td > </td>
<td >序号</td>
<td align="center">字段1</td>
<td align="center">字段2</td>
<td align="center">字段3</td>
</tr>
<tr>
<td width="99%" colspan="15" bgcolor="#999999"></td>
</tr>
<%
myrs.Open sqlstr,conn,1,1
if myrs.EOF then
%>
<tr >
<td colspan="15"> <div align="center" class=p14>对不起!没有找到<b><font color=red></font></b>相关信息!</div></td>
</tr>
<%
else
while not myrs.eof
%>
<tr
<td><input type="checkbox" name="cb" value="<%=myrs("id")%>"></td>
<td><%=myrs("id")%></td>
<td align="center"><%=myrs("字段1")%></td>
<td align="center"><%=myrs("字段2")%></td>
<td align="center"><%=myrs("字段3")%></td>
</tr>
<%
myrs.MoveNext
wend
myrs.Close
set myrs=nothing
%> 处理页面:
check=request.form("cb")
上面的check保存提交过来的所有checkbox的value。用“,”隔开。。
DELETE FROM tablename WHERE id IN (" & check& ")"
注意上面的语句不要写成:
DELETE FROM table WHERE id IN ('" & ids & "')"
因为ID是整形的。。写成那样是非整形的。会出错。。
想一想翻页程序,如果知道了当前页(rs.absolutepage)和每页数据量(rs.pagesize),要取得ID也不是很难啊/
dim rs
dim ROWI
set rs=server.createobject("adodb.recordset")
sql="SELECT ALARM.IP, ALARM.CS, CS.地址, ALARM.故障类型, ALARM.派修时间,ALARM.序号 FROM ALARM LEFT JOIN CS ON (ALARM.IP = CS.IP) AND (ALARM.CS = CS.CS) WHERE (((ALARM.派修)=True) AND ((ALARM.修复)=False) AND 基站类型=500) order by alarm.ip,alarm.cs"
rs.open sql,conn,1,1%>
<form method="post" action="500_xz_update.asp">
<table border="1" width="100%">
<tr>
<td>选择</td>
<td>IP</td>
<td>CS</td>
<td>地址</td>
<td>故障类型</td>
<td>派修时间</td>
<td>修复时间</td>
<td>备注</td>
</tr>
<%rowi=1%>
<%do while not rs.eof%>
<tr>
<td><input type="checkbox" name="cb" value="<%=rs.fields(5)%>"></td>
<td><%=rs.fields(0)%></td>
<td><%=rs.fields(1)%></td>
<td><%=rs.fields(2)%></td>
<td><%=rs.fields(3)%></td>
<td><%=rs.fields(4)%></td>
<td><input type="text" name="T<%=rowi%>" size="10" value=<%=date()%>></font></td>
<td><input type="text" name="TT<%=rowi%>" size="10"></td>
</tr>
<% rowi=rowi+1 %>
<%rs.movenext%>
<%loop%>
<tr>
<td width="100%" colspan="8"><input type="button" value="消障" name="B1" onclick="vbscript:window.location.href='500_xz_update.asp'"><input type="button" value="记录删除" name="B2" onclick="vbscript:window.location.href='500_xz_del.asp'"></td>
</tr></table></form>
<%rs.close
set rs=nothing %>500_xz_update.asp
<!--#include file="aconn.asp"-->
<%dim rs
dim sql
set rs=server.createobject("adodb.recordset")
sql="update alarm set 修复=true where 序号 in("&cb&")"
response.write sql
rs.open sql,conn,1,1
rs.close
set rs=nothing
conn.close
set conn=nothing
'response.redirect "500_xz.asp?err='故障己消除'"
%>
为什么我照上面的回复做后,还是不行???在500_xz_update.asp页的内容显示为
update alarm set 修复=true where 序号 in()
内容为空呀为什么
能讲解一下吗?
问一下怎么才能读出每个控件的NAME呢?
语法是很危险的,
ds=Split(Request("chkName"),",")
for i =0 to UBound(ds)
sql = "delete table where id=" & Trim(ds(i))
cn.execute sql
next的写法比较安全
传过来为空,不知是为什么?
那这样子,在下一个传递的页面中怎么将他们读出呢?如文本框和复选框。
用WHILE怎么做呢?