你的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

解决方案 »

  1.   

    checkbox用一样的name,提交到asp页面ids=request.form("checkbox_name")       'ids="1,2,3,4,5....."
    sql="DELETE FROM table WHERE id IN (" & ids & ")"
    rs.open sql.conn
      

  2.   

    <tr >
          <td >&nbsp;</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。用“,”隔开。。
      

  3.   

    删除的时候和楼上老兄的一样。。
    DELETE FROM tablename WHERE id IN (" & check& ")"
    注意上面的语句不要写成:
    DELETE FROM table WHERE id IN ('" & ids & "')"
    因为ID是整形的。。写成那样是非整形的。会出错。。
      

  4.   

    下一页 ...动态生成的文本框和复选框的名称都可以用到这个ID的,
    想一想翻页程序,如果知道了当前页(rs.absolutepage)和每页数据量(rs.pagesize),要取得ID也不是很难啊/
      

  5.   

    <%dim sql
    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()
    内容为空呀为什么
      

  6.   

    我对动态生成的控件,和从宿主中如何提取还是很不在行
    能讲解一下吗?
    问一下怎么才能读出每个控件的NAME呢?
      

  7.   

    这种update alarm set 修复=true where 序号 in()
    语法是很危险的,
    ds=Split(Request("chkName"),",")
    for i =0  to UBound(ds)
    sql = "delete table where id=" & Trim(ds(i))
    cn.execute sql
    next的写法比较安全
      

  8.   

    不过,现在的问题不安全不安全的问题,是那个checkbox的值不能传过来!!!
    传过来为空,不知是为什么?
      

  9.   

    请问是不是在前一页面中,如果某种控件取了同一个NAME,是不是就形成了一个数组。
    那这样子,在下一个传递的页面中怎么将他们读出呢?如文本框和复选框。
    用WHILE怎么做呢?