(asp)这个select语句未结束?

来源:百度知道 编辑:UC知道 时间:2024/09/20 19:43:13
本人是新手,今遇到这样一个错误类型:
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&"也出现类似的语句未结束错误提示。
请高手解答。如果还能提供比较详细的含这种日期(多少天内)搜索的程序源代码,将更加感谢!

sql= "SELECT * FROM "& typeto &" WHERE ((City ="&mycity&") AND

(Taox="&myTaox&") AND (Dateadd("d","&mysj&",Dat)>=date))
^ ^
order by Dat Desc"

VB中双引号只用来标记字符串,因为SQL sever不区分单双引号,可以改用 Dateadd('d'