asp中checkbox如何多选的问题? 50

<%dimsqlAllTempTextifrequest("updateAll")<>""thenresponse.Write(request("updateAll"))... <%
dim sqlAllTempText
if request("updateAll")<>""then
response.Write(request("updateAll"))
if request("fangshi") = "xianzai" then
dim chkvalue
chkvalue=request.QueryString("xy")
response.Write(chkvalue)
sqlAllTempText="update topgg2 set splb = 'dszp' where tpid in (" & chkvalue & ")"
end if

response.Write(sqlAllTempText)
conn.Execute(sqlAllTempText)
Response.Redirect "addgl.asp"
end if
%>

<input type="checkbox" name="xy" value="<%=rsna("tpid")%>" >

可是每次执行后总提示:

1356update topgg2 set splb = 'dszp' where tpid in ()
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'tpid in ()' 中。

/piaoy/edit.asp,行 129
dim sqlAllTempText
if request("updateAll")<>""then
response.Write(request("updateAll"))
//if request("fangshi") = "xianzai" then
dim chkvalue
chkvalue=request.QueryString("xy")
response.Write(chkvalue)
sqlAllTempText="update topgg2 set splb = 'dszp' where tpid in (" & chkvalue & ")"
//end if

即使把if语句注释掉,也是老样子,
另我的提交语句

<a href="edit.asp?updateAll=<%=rsna("tpid")%>&fangshi=xianzai">转为现在</a>

我总怀疑我的SQL语句是不是错了,或者是chkvalue=request.QueryString("xy")
取值取不来啊
xy是嵌套的好几个表里的一个checkbox的name。

我发现总是提示“操作符丢失”而测试打印的sql语句也是提示“update topgg2 set splb = 'dszp' where tpid in ()
”总是传不过值来
展开
 我来答
百度网友4e7acdd
2008-07-22 · TA获得超过1208个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:684万
展开全部
其实是代码的一个小的逻辑错误:
如果request("fangshi")的值不是xianzai,仍会运行以下语句,
response.Write(sqlAllTempText)
conn.Execute(sqlAllTempText)
Response.Redirect "addgl.asp"
这时
其中用到的一个变量叫sqlAllTempText可能会成为空值,就会引发tpid in()这个sql语句的出现,解决这个问题的方法就是调整您的IF语句,使之逻辑化。
dim sqlAllTempText
if request("updateAll")<>""then
response.Write(request("updateAll"))
if request("fangshi") = "xianzai" then
dim chkvalue
chkvalue=request.QueryString("xy")
response.Write(chkvalue)
sqlAllTempText="update topgg2 set splb = 'dszp' where tpid in (" & chkvalue & ")"
response.Write(sqlAllTempText)
conn.Execute(sqlAllTempText)
Response.Redirect "addgl.asp"
end if
end if
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2008-07-23 · TA获得超过1232个赞
知道大有可为答主
回答量:1245
采纳率:0%
帮助的人:1423万
展开全部
request.QueryString("xy")
得到的是地址栏 xy变量的值 不是复选框的值.你地址栏没有xy这个变量当然得不到值了

改成
request.form("xy")
就好了 当然还得确定复选框有值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式