DBExpress连接ORACLE时,其日期字段的参数如何进行赋值?
SQLQuery.sql.add('Select * from myTable where RQ=:RQ');
SQLQuery.Params.ParamValues['RQ']:=Date();
SQLQuery.open;
执行时出现错误提示;
请问
SQLQuery.Params.ParamValues['RQ']:=?
处应写入什么类型的数据?
说明:RQ为表的日期字段类型。

解决方案 »

  1.   

    SQLQuery.Params.ParamValues['RQ']:=formatdatetime('YYYY-MM-DD',date());
    这样可以不?
      

  2.   

    To_Date(date(),'YYYY-MM-DD HH24:MI:SS')
      

  3.   

    SQLQuery.Params[0].Values:=Date;
      

  4.   

    楼上的兄弟们,注意人家用的数据库是ORACL数据库;
    To_Date(date(),'YYYY-MM-DD HH24:MI:SS')
    三楼的兄弟说的对。
      

  5.   

    To_Date(date(),'YYYY-MM-DD HH24:MI:SS')
    要写在sql语句中吧?
    我要用参数方式SQLQuery.Params.ParamValues['RQ']=To_Date(date(),'YYYY-MM-DD HH24:MI:SS')
    好像通不过编译哦?
      

  6.   

    SQLQuery.Params.ParamValues['RQ']='To_Date(date(),''''YYYY-MM-DD HH24:MI:SS'''')';
    试一下,看行不行。
      

  7.   

    SQLQuery.SQl.Text:=StringReplace(SQLQuery.SQl.Text,':RQ','To_Date('2006.01.01',''YYYY-MM-DD HH24:MI:SS'')',[rfReplaceAll,rfIgnoreCase]);这样可定没问题
      

  8.   

    oracle的日期格式与客户端的nls_date有关.如果你用西方字符集.那就为:DD-MMM-YY,而MMM用的是类似JUN等格式,虽然oracle能自动将符合日期格式的字串自动转为date型,但要转成DD-MMM-YY也有些烦,所以一般用To_Date来做.这样就要改你的SQL了:
    SQLQuery.sql.add('Select * from myTable where RQ=TO_DATE(:RQ,''yyyy-mm-dd''');
    SQLQuery.Params.ParamValues['RQ']:=FormatDateTime('yyyy-mm-dd',Date());
    SQLQuery.open;