我用的是ORACLE数据库在DELPHI程序里,我用了TDateTimePicker控件,请问,如何以YYYY-MM-DD HH:MM:SS的格式保存到ORACLE数据库?如何将系统当前时间以YYYY-MM-DD HH:MM:SS的格式保存到ORACLE

解决方案 »

  1.   

    给你个例子procedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    begin
      s:=FormatDateTime('yyyy-mm-dd hh:nn:ss',DateTimePicker1.DateTime);
      ADOQuery1.SQL.Text:='insert into test values (1,to_date('+quotedstr(s)+',''yyyy-mm-dd hh24:mi:ss''))';
      ADOQuery1.ExecSQL;
    end;oracle日期格式比较复杂,所以一般我们是格式化的字串存储,日期运算可通过to_date转换
      

  2.   

    提醒注意:
    数据库存储的数据只有类型没有格式。格式是指显示时用的显示格式。
    也就是说你存储时存为 DateTime 类型,显示时可以是 YYYY-MM-DD HH:MM:SS 格式或其它格式。
    当然如果你用字符串类型存储时间,那么时间字符串的格式就由你自己确定了。
      

  3.   

    在数据库里都是用TDateTime(Double)来表示时间的,你只要读出和存入就可以了。
      

  4.   

    ADOQuery1.Close;
    //更新记录
    ADOQuery1.SQL.Text:='UPDATE QQ_ID SET IN_TIME=TO_DATE('''+FormatDateTime('yyyy-mm-dd hh:nn:ss',Now)+''',''YYYY-MM-DD HH24:MI:SS'')';
    //插入记录
    ADOQuery1.SQL.Text:='INSERT INTO QQ_ID(IN_TIME)VALUES(TO_DATE('''+
         FormatDateTime('yyyy-mm-dd hh:nn:ss',Now)+''',''YYYY-MM-DD HH24:MI:SS'')';
    ADOQuery1.ExecSQL;
      

  5.   

    提醒你一个问题,,你如果用字符串保存,,最好在WIN7下测试一下,会有意想不到的问题。。