读书人

TADOQuery的filter中怎么使用函数to_d

发布时间: 2012-02-25 10:01:48 作者: rapoo

TADOQuery的filter中如何使用函数to_date
Q_ContractView查询控件(TADOQuery)对应的表有一个SIGNDATE属性(类型是DATE)
想通过filter进行过滤
于是
Q_ContractView->Filtered=false;

Q_ContractView->SQL->Add("SELECT ID,SIGNDATE FROM DOCMAN.CONTRACTINFO ");
Q_ContractView->Open();

Q_ContractView->Filter="SIGNDATE between to_date('2010-1-1','yyyy-MM-dd') and to_date('2011-1-1','yyyy-MM-dd'";

Q_ContractView->Filtered=true;

执行时报错 说参数不对什么,但是我单独把上面的过滤语句放在oracle里执行时没有错误啊!
难道TADOQuery 的filter里不用使用to_date函数?
还是我哪用错了, 麻烦指点下,很急啊

[解决办法]

那帖子已回覆了
[解决办法]

C/C++ code
ADOQuery1->Filtered = false ;  String ls_Select = "select selldate from billsell ";  String ls_Str = "selldate> '2009-10-01' and  selldate<'2009-10-30'" ;  ADOQuery1->Close();  ADOQuery1->SQL->Clear();  ADOQuery1->SQL->Add(ls_Select);  ADOQuery1->Open();  ADOQuery1->Filter = ls_Str ;  ADOQuery1->Filtered = true ;
[解决办法]
如果是Access数据库,要把时间字符串用#括起来,如果是MSSQL,用单引号把时间字符串括起来.
另外,对于时间字段的比较,建议用between...and...

读书人网 >C++ Builder

热点推荐