实现修改记录时出现以下问题,ACCESS数据库名和表名是test,里面的字段是ID,aa和bb 以下是部分代码:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("test.mdb")
exec="select * from test where ID="&request.querystring("ID")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
%>
报错如下,不知是错在哪里了?
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'ID=' 中。
/modify.asp,行15
參考答案:调试方法:
...
exec="select * from [test] where ID="&request.querystring("ID")
Response.write exec
把输入的结果放到库里面看能不能查询,如果查询失败,查看ID的值是否得到,检查ID的字符类型,保证ID为INT类型。
其中Request("ID")可以写成Trim(CLng(Request("ID")))
按照你的意思可以这样去写
exec="select * from [test] where ID="&Trim(CLng(Request("ID")))