c++builder中的SQL语句出错:ORA-00907:缺失右括号
c++builder中的SQL语句出错:
AnsiString stime,etime;
stime="2008-12-9 1:18:00";
etime="2008-12-9 3:25:00";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Select distinct tag_value.* from tag_value where tag_value.clock> to_date('"+stime+"','yyyy-mm-dd hh24:mi:ss') and tag_value.id=134 or tag_value.id=129 or tag_value.id=130 and tag_value.clock<= to_date ('"+etime+"','yyyy-mm-dd hh24:mi:ss') order by tag_value.clock");
ADOQuery1->Open();
出现错误
ORA-00907:缺失右括号
如果将SQL语句改成Select distinct tag_value.* from tag_value where tag_value.clock> to_date('"+stime+"','yyyy-mm-dd hh24:mi') and tag_value.id=134 or tag_value.id=129 or tag_value.id=130 and tag_value.clock<= to_date ('"+etime+"','yyyy-mm-dd hh24:mi') order by tag_value.clock
就不会出错!
搞不清楚是怎么回事?请教各位大侠!
[解决办法]
stime和etime的值分别是多少?是否符合'yyyy-mm-dd hh24:mi:ss'这样的格式?
[解决办法]
提示已经告诉你了,缺失右括号
你可以调试一下,把查询语句放在一个字符串里,设置断点取出这个字符串的内容,然后放到oracle客户端的查询分析器里执行会不会报同样的错误。