本人是新手,今遇到这样一个错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
/list_search.asp, line 123, column 97
sql= "SELECT * FROM "& typeto & " WHERE ((City = "&mycity& ") AND (Taox= "&myTaox& ") AND (Dateadd( "d ", "&mysj& ",Dat)> =date)) order by Dat Desc "
说明:这是一个处理搜索表单的程序,所提交搜索表单的程序中提交了三个表单对象(两个select,一个input文本框),分别名为city,leibie和fbsj(以天为单位的数字,即多少天内发表的信息),然后本程序分别以变量mycity,myTaox,mysj接受之,并根据这三个条件去查找数据表 "& typeto & " 中的字段City,Taox,Dat。不知为何出现以上问题?请问错在哪里?如何改正?
问题补充:不知是否这个语句有什么语法错误?
若将此语句去掉WHERE后的一对括号,改为sql= "SELECT * FROM "& typeto & " WHERE (City = "&mycity& ") AND (Taox= "&myTaox& ") AND (Dateadd( "d ", "&mysj& ",Dat)> =date) order by Dat Desc ",仍然出现语句未结束的错误提示。
另,将其中的函数Dateadd( "d ", "&mysj& ",Dat)> =date改成Datediff( "d ",Dat,date) <= "&mysj& "也出现类似的语句未结束错误提示。
请高手解答。如果还能提供比较详细的含这种日期(多少天内)搜索的程序源代码,将更加感谢!
------解决方案--------------------
Dateadd 中的变量使用错误!你去掉这句应该就可以运行,具体错在哪里 你最好自己看看
------解决方案--------------------
如果是 时间比较 前后要加上 #
字符串比较 前后要加上 '
------解决方案--------------------
字符串类型的条件要加上 ' '
------解决方案--------------------
加#再试~
(Dat > = # " & DateAdd( "d ", -CInt(mysj), Date) & "#)
你再确定一下Dat是短日期格式的,就是yyyy-mm-dd这样的...