语法错误 (操作符丢失) 在查询表达式 'ClassID=' 中。

来源:百度知道 编辑:UC知道 时间:2024/06/25 15:46:54
网页上的提示:
Microsoft JET Database Engine 错误 '80040e14'
语法错误 (操作符丢失) 在查询表达式 'ClassID=' 中。

/newlist.asp,行 81

这个原文件,他说错误在81行上面,不知道错在哪里:
set rs=server.createobject("adodb.recordset") 78行
ClassID=request("ClassID") 79行
sql="select * from ProductClass where ClassID="&ClassID 80行
rs.open sql,conn,1,1 81行
if rs.eof then 82
ClassName="其他" 83
else 84
ClassName=rs("ClassName") 85
end if 86
rs.close 87
maxpage=12 88

ClassID=request("ClassID")

输出ClassID 看看..

因为你的这个没有值

你的页面跳转代码应该是newlist.asp?classid=1 之类的..

你现在是不直接链接的newlist.asp?

应该是你传递的值中 ClassID 的值为空,或者没传递

建议在这里做一下容错处理,也就是将传递的不符合规范的值,设置一个默认值

例如这里做这样的处理

ClassID = Request("ClassID")
If Not IsNumeric(ClassID) Or ClassID = "" Then ClassID = 0 ' 如果值不符合规范(不是数字或为空),则给一个默认值为 0
ClassID = CInt(ClassID) ' 强制将参数转换成整型,因为类似 2e3 的值,也能通过 IsNumeric(ClassID) 的验证(2e3 = 2 × 10^3 = 2000)

' 接下去的操作~~