[ASP&SQL] 批量删除

林继 VPS 知识 7,414 共写了82个字 (2007-02-26 8:56:42) 没有评论 打印 扫描二维码 百度已收录

问:
譬如想删除 自动编号为 20-40 之间的记录,用sql语句怎么表示呢?

答1:

delete from 表名 where id>20 and id<40 答2:
建议使用:
delete from table where id>'20' and id<'40'

一个完整例子

  1. <form name=sczl action=prod_code.asp?action=delother&id=<%=request("id")%> method=get><br/>制造命令: <input type="text" name="id" size="23" title="删除同一个制造命令的所有激光序列号"><br/><input type="submit" name="action" value="批量删除" onclick="{if(confirm(&#39;确定批量删除该制造命令?&#39;)){this.document.Prodlist.submit();return true;}return false;}" title="删除同一个制造命令的所有激光序列号"><br/></form><br/><br/><form name=scxl action=prod_code.asp?action=delotherc&id=<%=request("id")%>&id1=<%=request("id1")%> method=get><br/>序列号: <input type="text" name="id" size="10" title="输入开始序列号"> -> <input type="text" name="id1" size="10" title="输入结束序列号"><br/><input type="submit" name="action" value="批量删除序列号" onclick="{if(confirm(&#39;确定批量删除激光序列号?&#39;)){this.document.Prodlist.submit();return true;}return false;}" title="批量删除激光序列号"><br/></form><br/><br/><%<br/><br/>if action="批量删除" Then<br/>delzl=replace(request("id")," ","")<br/>call delother()<br/>end if<br/><br/>if action="批量删除序列号" Then<br/>delzlc=replace(request("id")," ","")<br/>delzlc1=replace(request("id1")," ","")<br/>call delotherc()<br/>end if<br/><br/>&#39;删除某一字段相同的所有记录<br/><br/>sub delother()<br/>conn.execute("delete from 数据表 where 字段=&#39;"&delzl&"&#39;")<br/>response.redirect "重新定向网址"<br/>end Sub<br/><br/>*************************** 例子 ***************************<br/><br/>sub delother()<br/>conn.execute("delete from scode where ProdDisc=&#39;"&delzl&"&#39;")<br/>response.redirect "prod_code.asp"<br/>end Sub<br/><br/>============================================================<br/><br/>&#39;删除连续的多条记录<br/><br/>sub delotherc()<br/>For i=开始 to 结束<br/>conn.execute("delete from 数据表 where 字段=&#39;"&i&"&#39;")<br/>next<br/>response.redirect "重新定向网址"<br/>end sub<br/><br/>*************************** 例子 ***************************<br/><br/>sub delotherc()<br/>For i=delzlc to delzlc1<br/>conn.execute("delete from scode where Model=&#39;"&i&"&#39;")<br/>next<br/>response.redirect "prod_code.asp"<br/>end sub<br/><br/>%>

以下代码未测试,仅做参考!

开发语言是asp   加   access!  
   
 想做到的是把表里的记录显示出来,然后在每条记录前加个checkbox,要删除的话就选中,然后在最后提交!  

test.asp  

  1.  &nbsp; <%<br/> dim conn<br/> dim connstr<br/> on error resume next<br/> connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"<br/> set conn=server.CreateObject("ADODB.CONNECTION")<br/> conn.open connstr<br/> %>       <br/>  <%<br/> &#39;遍历每个选中的checkbox,取其值.其值为对应的数据id<br/> &#39;conn.Execute来删除记录.<br/><br/> for each iselects in Request.Form("chkid")<br/> conn.Execute("delete * from test where id="&CInt(iselects))<br/> next<br/> %>   <br/>  <form action="test.asp" method="post"><br/>  <%<br/> sql="Select * from test"<br/> set rs=Server.CreateObject("ADODB.Recordset") <br/> rs.open sql,conn,1,1<br/> do until rs.eof<br/> %><br/>  <input type="checkbox" name="chkid" value="<%=rs("id")%>"><%=rs("num")%><br/><br/>  <%<br/>rs.movenext<br/>loop<br/>%>   <br/>  <input type="submit" value="Del"><br/><br/>  </form>

 数据库data.mdb  
 表test  
 字段id,num,

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >