浙江高考查询:asp的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/10 19:13:12
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'bigclassid=' 中。
/admin/BigClassKill.asp, 第 42 行
下面是代码:
dim bigclassID
bigclassID = Request("bigclassID")
Set rs6 = Server.CreateObject("ADODB.Recordset")
sql6 ="SELECT * From bigclass where bigclassid="&bigclassID
rs6.open sql6,Conn,3,3(错误行)
请高手指教!

bigclassID为空
可以先进行判断
IF Request("bigclassID")="" Or (Not IsNumeric(Request("bigclassID"))) Then
Response.Write("ID传入错误!")
Response.End
End IF

dim bigclassID
bigclassID = Request("bigclassID")
Set rs6 = Server.CreateObject("ADODB.Recordset")
sql6 ="SELECT * From bigclass where bigclassid="&bigclassID
rs6.open sql6,Conn,3,3

=================
IsNumeric()判断是否为数字,可以防止SQL注入式攻击

我觉得很可能是因为你的bigclassid 和你接收到的bigclassID的类型不匹配,很可能一个是整型,一个是字符串,建议转化一下bigclassID的类型

我看是数据库连接错误.你不用任何条件.
sql6 ="SELECT * From bigclass "
rs6.open sql6,Conn,1,1
这样打开数据库看行不行.如不行.一定是数据库连接错误.

Set rs6 = Server.CreateObject("ADODB.Recordset")
sql6 ="SELECT * From bigclass where bigclassid="&bigclassID
rs6.open sql6,Conn,3,3(错误行)

修改sql6="select * from bigclass where bigclassid='"&bingclassid&"'"
试看!!