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," ","")&"')"
虽然答案都不满意不过差不多的也就你了 展开
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," ","")&"')"
虽然答案都不满意不过差不多的也就你了 展开
展开全部
其实我想说你直接request.form("checked")这样就能得到选中的值了,只用用delete from projectinfo where 项目id in(request.form("checked"))就行了
你可以先输出request.form("checked")看看得到的是什么,一般会是1,2,3,这样的,这时把最后一个逗号去掉就行了
你可以先输出request.form("checked")看看得到的是什么,一般会是1,2,3,这样的,这时把最后一个逗号去掉就行了
追问
字符串要加单引号
而且就算改成数字,那么输出也是1, 2, 3
2和3前面有空格,识别不出这条信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
明显就是组装sql不对啊。in('"&request.form("checked")&"')" 这里,先把request.form("checked")根据是否有逗号进行拆分。都组装成 in(‘xxx’,‘yyy’)的格式。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你要删除的ID,全部拿到并且格为 1,4,5,6
主要看你的ID是怎么传的,可以使用javascript的全部选中的ID以逗号隔开链接成字符串,在把这个字符串传过去
主要看你的ID是怎么传的,可以使用javascript的全部选中的ID以逗号隔开链接成字符串,在把这个字符串传过去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询