ASP 删除数据库中符合条件的多条记录

来源:百度知道 编辑:UC知道 时间:2024/05/22 11:47:17
我有一数据库,其中有一表叫user 里边字段有id(自动编号)uid sj
里面记录如下
1 张三 入款20 2006-10-1
2 张三 入款30 2006-10-3
3 李四 入款30 2006-10-23
4 张三 入款50 2006-10-13
我现在想从一页面得到UID的值,比如是张,想全部把表里张三(字符型)的记录删除
我是用下面的语句实现,但特别慢,只能删除一条记录
<!--#include file="Admin.asp"-->
<!--#include file="inc/conn.asp"-->
<%
dim uid
uid=trim(request("uid"))
set rs=server.CreateObject("adodb.recordset")
sqlstr="select * from [user]"
rs.open sqlstr,conn,1,3
while not rs.eof
if rs("uid")=uid then
rs.delete
rs.update
else
rs.movenext
end if
wend
rs.close
conn.close
set rs=nothing
set conn=nothing
%>
请问有什么解决办法,还有别的删除方法吗
改成这样还是特别慢
<!--#include file="Admin.asp"-->
<!--#include file="inc/conn.asp"-->
<%
dim uid
uid=trim(request("uid"))

在你的SQL语名中,加一个条件判断就行了。
如:
sqlstr="select * from user where uid="&uid
rs.delete
rs.update

<%
dim uid
uid=trim(request("uid"))
set rs=server.CreateObject("adodb.recordset")
sqlstr="delete from [user] where uid in (" & uid & ")"
rs.open sqlstr,conn,1,3
rs.close
set rs=nothing
conn.close
set conn=nothing
%>

直接用connection的方法:
conn.execute "delete * from [user] where uid=rs("uid")"
这样就可以啦

删除一条记录,你要删除其对应的记录号(ID),可以用
conn.execute "delete * from [user] where uid=rs("uid")"
来对数据库进行期操作。

这些简单的删除操作直接用SQL语句删除就行了,(如一楼)
用Recordset对象来进行删除太浪费资源了

该回答的都被人抢先说了,我就不不语了.