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函数?
还是我哪用错了, 麻烦指点下,很急啊
[解决办法]
?
那個帖子已經回覆了
[解决办法]
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...