asp复选框批量删除不了,只能删除一条

strdel="deletefromprojectInfowhere项目编号in('"&request.form("checked")&"')"con.execute(s... strdel="delete from projectInfo where 项目编号 in('"&request.form("checked")&"')"
con.execute(strdel)
response.Write strdel
复选框如下

<input name="checked" type="checkbox" value="<%=rs("项目编号")%>" />
为了方便测试,我输出了SQL的语句,结果是
delete from projectInfo where 项目编号 in('第一个, 第二个')

如果只有一条数据那么正常删除
2条以上的数据产生的问题就是
1、2个字符串都在一对单引号内,所以系统默认为一条信息叫做 "第一个, 第二个" 所以删除不了2条
2、“第二个” 这个数据前面有空格,不知道是哪里出来的,所以就算没有单引号系统也不认为是2条

求大神解救,怎么删除多条
按照组装的话
if instr(Request.Form("checked"),",")>0 then xx=replace(Request.Form("checked"),",","','") end if
strdel="delete from projectInfo where 项目编号 in('"&xx&"')"
con.execute(strdel)
response.Write strdel

这我也尝试过
结果出来的是
delete from projectInfo where 项目编号 in('第一个',' 第二个',' 第三个')

然后成功删除了第一条信息,第二条和第三条信息由于前面有空格所以没有被删掉
如果用这个方法的话求解让第二条以后的信息的前面没有加空格,我不知道空格是哪里来的

-----
问题已解决
需要把xx里面的空格都replace掉
strdel="delete from projectInfo where 项目编号 in('"&replace(xx," ","")&"')"

虽然答案都不满意不过差不多的也就你了
展开
 我来答
1804438115
高粉答主

2013-07-04 · 醉心答题,欢迎关注
知道大有可为答主
回答量:1.1万
采纳率:61%
帮助的人:3653万
展开全部
其实我想说你直接request.form("checked")这样就能得到选中的值了,只用用delete from projectinfo where 项目id in(request.form("checked"))就行了

你可以先输出request.form("checked")看看得到的是什么,一般会是1,2,3,这样的,这时把最后一个逗号去掉就行了
追问
字符串要加单引号
而且就算改成数字,那么输出也是1, 2, 3
2和3前面有空格,识别不出这条信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
II个人的寂寞
2013-07-04 · TA获得超过1115个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:459万
展开全部
明显就是组装sql不对啊。in('"&request.form("checked")&"')" 这里,先把request.form("checked")根据是否有逗号进行拆分。都组装成 in(‘xxx’,‘yyy’)的格式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砖家799
2013-07-04
知道答主
回答量:12
采纳率:0%
帮助的人:3.9万
展开全部
把你要删除的ID,全部拿到并且格为 1,4,5,6
主要看你的ID是怎么传的,可以使用javascript的全部选中的ID以逗号隔开链接成字符串,在把这个字符串传过去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式