注册 登录
编程论坛 ASP技术论坛

请教语句应该如何写

不知123 发布于 2012-09-13 21:44, 805 次点击
ASP+SQL2000
有张表AA中的字段KK为VARCHAR型,想批量删除表中的数据
strSql ="Delete From AA where KK in ('" & id & "')"

但只能删除单条记录,不能删除多条,请问哪位大大帮忙修改下,可以一次删除多条记录!!!
10 回复
#2
hu9jj2012-09-13 22:56
修改一下where的条件。
#3
不知1232012-09-13 23:29
如何修改?
#4
hu9jj2012-09-14 08:13
按符合要删除记录的条件修改,具体需要看你的要求。如ID值在某个区域范围、某个字段的值等于什么等待。
#5
不知1232012-09-14 09:01
<!--#INCLUDE FILE="odbc_connection.asp"-->
<%
'首先获取传过来的记录编号id
Dim myselect_id
myselect_id=Request.Form("myselect")
'然后删除其中的空格
myselect_id=Replace(myselect_id," ","")
'下面组织Delete语句,条件为传过来的记录编号
strSql ="Delete From kfgl where kfgldl in ('" & myselect_id & "')"
Response.Write strSql
'执行删除操作,执行完毕后返回首页
db.Execute(strSql)
Response.Redirect "scyh1.asp"      
%>
#6
netlin2012-09-15 12:08
楼主,把这句:
strSql ="Delete From kfgl where kfgldl in ('" & myselect_id & "')"
改为下面的,再试试:
strSql ="Delete From kfgl where kfgldl in (" & myselect_id & ")"

如果还有问题,你得查一查变量myselect_id的值是什么?
#7
hu9jj2012-09-15 13:40
楼主的myselect_id值应该就是一个吧?这个id值在数据表中应该也是唯一的吧?如果是这样的话被删除的当然只有一条记录,而不会同时删除多条记录了。
#8
不知1232012-09-15 21:33
回7楼:是字符型的,也是唯一的,现在是可以删除一条,我想怎么修改才能删除多条记录!或是ASP根本不支持多条的删除!!
另6楼的写法应该只适用于INT型的吧。如果是INT型应该可以删除多条记录,但我这是VARCHAR型的。

[ 本帖最后由 不知123 于 2012-9-15 21:35 编辑 ]
#9
netlin2012-09-16 09:05
肯定是支持删除多条的!
这条语句是数据库来执行的,不关ASP的事儿!

#10
netlin2012-09-16 09:15
把这句:
myselect_id=Replace(myselect_id," ","")

改为:
myselect_id=Replace(myselect_id,", ","','")

#11
不知1232012-09-16 20:22
谢谢,问题已解决。
1