ASP运行错误
PC_DATE 为DATE类型,
错误信息为:“Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]運算元類型衝突: date 與 int 不相容
/index.asp,行 69
”
错误语句为“
sql = "SELECT pc.pc_department,pc.pc_sort,pc.pc_time,pc.pc_time1,pc.pc_time,pc.pc_title,bg.pc_style FROM gspaicheng as pc, gssort_bg as bg where pc.pc_sort=bg.pc_sort and pc.pc_date="&dateAdd("d",2-weekday(date),date())&" ORDER BY pc_date" ”
有知道的兄弟速帮忙解决!
[解决办法]
sql = "SELECT pc.pc_department,pc.pc_sort,pc.pc_time,pc.pc_time1,pc.pc_time,pc.pc_title,bg.pc_style FROM gspaicheng as pc, gssort_bg as bg where pc.pc_sort=bg.pc_sort and pc.pc_date="&dateAdd("d",2-weekday(date),date())&" ORDER BY pc_date"
mssql不需要加引号
[解决办法]
sql = "SELECT pc.pc_department,pc.pc_sort,pc.pc_time,pc.pc_time1,pc.pc_time,pc.pc_title,bg.pc_style FROM gspaicheng as pc, gssort_bg as bg where pc.pc_sort=bg.pc_sort and pc.pc_date = '" & dateAdd("d",2-weekday(date),date()) & "' ORDER BY pc_date"
因为你 dateAdd("d",2-weekday(date),date()) 计算结果是:2012-xx-xx 输出SQL后,SQL认为这是2012减xx减xx, 即为一个int.
因此,你需要用引号引起数据,由SQL自动转换为date.
[解决办法]