日期:2014-05-17  浏览次数:20780 次

这个含日期的select语句未结束?
本人是新手,今遇到这样一个错误类型:  
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这样的...