南通全通建筑机械:asp 按月查询

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/04 14:19:13
<%
syear = request("yy")
smonth = request("month")
carid = request("carid")

set dbconnection=Server.CREATEOBJECT("ADODB.CONNECTION")
DBPath = Server.MapPath("车辆管理.mdb")
dbconnection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

SQL="select * from 车辆使用 where 车牌号码='"&carid&"'and year(addtime) ="&syear&" AND month(addtime) = "&smonth&""
SET CustomerList=dbconnection.EXECUTE(SQL)
%>

数据库选择语句在这里,现在就是后面year(addtime) ="&syear&" AND month(addtime) = "&smonth&""
出现错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 '车牌号码=''and year(addtime) = AND month(addtime) =' 中。
的错误。。。不明
SQL="select * from 车辆使用 where 车牌号码='"&carid&"'and year(日期) ="&syear&" AND month(日期) = "&smonth&""

修改成这样就可以用了,用的是access的数据库啊表里面记录时间的行用的名字就是日期,addtime是怎么用的呢?

SQL="select * from 车辆使用 where 车牌号码='" & carid & "' and year(addtime) =" & syear & " AND month(addtime) = " & smonth

注意你的year(addtime)前的add和前面的字符串之间没有空格。另外要养成“&”运算符与变量和字符之间要加空格的习惯,有些字符遇到&一样会出错。
还有要注意你的字段的类型,如果是以日期形式记录,应该是用“#”,而不是用“'”。

你的数据库可能是ACCESS,可能不支持你使用的日期函数!
似乎可以换成:"addtime>'" & syear & "-" & smonth & "-1'"

syear = request("yy")
smonth = request("month")

这两个都没取到值啊