首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

TADOQuery的filter中怎么使用函数to_date

2012-02-25 
TADOQuery的filter中如何使用函数to_dateQ_ContractView查询控件(TADOQuery)对应的表有一个SIGNDATE属性(

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...

热点排行