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

下面语句哪里写错了?为何会报错
下面语句中加了 where后面的 一个条件(红色部分)就报错,报错字段不存在? 是哪里写错了呢?

"SELECT "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Case ID+"&chr(34)&"from "&chr(34)&"HPD:HelpDesk"&chr(34)&" "&chr(34)&"HPD:HelpDesk"&chr(34)&" WHERE (datediff(mi, "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Create Time"&chr(34)&",getdate()) > 30) ORDER BY "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Case ID+"&chr(34)&""


但是在select里加Create Time是没有问题的。就是where后面红色部分提示写错,字段不存在。

------解决方案--------------------
Create Time?中间有空格吗空格是非标示符,应该用中括号将字段括起来[Create Time]这样
------解决方案--------------------
那你
SELECT datediff(mi, "&chr(34)&"HPD:HelpDesk"&chr(34)&"."&chr(34)&"Create Time"&chr(34)&",getdate())
这样报错吗

报的什么错?
------解决方案--------------------
打印出来sql看看啊
------解决方案--------------------
错误都告诉你了column不存在
你把sql语句完整的输出出来,在ssms中执行一下,不要弄"&chr(39)&")这些
------解决方案--------------------
看着就晕了,用Profiler跟踪一下执行的语句吧