【发布时间】:2014-02-05 19:08:18
【问题描述】:
我正在设计一个将查询 Access 数据库 (mdb) 的 asp 表单。表单的结果是查询一个日期范围(date from 和 date to)之间的数据结果,并在下面的asp页面上输出结果。当我尝试运行查询时,我收到以下错误:
Microsoft JET 数据库引擎错误“80040e07” 查询表达式 'name = 'firstname.lastname' 和 date = ##' 中的日期语法错误。
注意:firstname.lastname 与真人相对应。
它指向的代码有如下两行:
rstDATA.open "Select * From xxx Where name = '" & username & "' And date = #" & request.Form("ddDate") & "#",cnn, adOpenKeyset, ,adLockReadOnly %>
rstDATA.open "Select * From xxx Where name = '" & username & "' And date = #" & request.Form("ddDate") & "#",cnn, adOpenKeyset, ,adLockReadOnly %>
其中 xxxx 对应于表格。
【问题讨论】:
-
永远不要在不使用参数的情况下构建你的 SQL 字符串。你迟早会被黑。请参阅 SQL 注入:w3schools.com/sql/sql_injection.asp