读书人

咨询DELPHI将日期时间保存到ORACLE数据

发布时间: 2012-02-15 12:09:43 作者: rapoo

咨询DELPHI将日期时间保存到ORACLE数据库问题
ORACLE数据库里tianyi_list表有两个字段的类型是date型(即下面过程里的a7和a12),我想保存为2010-04-25 19:30:59的格式,可是用下面过程保存后只有年月日:2010-04-25,时分秒部分不会保存,请问,该如何修改下面的语句?

procedure TForm3.baocunClick(Sender: TObject);
begin
adoquery1.Connection:=datamodule2.to_xd;
with adoquery1 do
begin
Close;
sql.Clear;
sql.Add('INSERT INTO tianyi_list VALUES (:a1,:a2,:a3,:a4,:a5,:a6,:a7,');
sql.Add(':a8,:a9,:a10,:a11,:a12,:a13,:a14)');
parameters.ParamByName('a1').Value:=dls.Text;
parameters.ParamByName('a2').Value:=zhongduan.Text;
parameters.ParamByName('a3').Value:=acc_nbr.Text;
parameters.ParamByName('a4').Value:=yucun.text;
parameters.ParamByName('a5').Value:=butie.Text;
parameters.ParamByName('a6').Value:=taocan.Text;
parameters.ParamByName('a7').Value:=FormatdateTime('yyyy-mm-dd hh:nn:ss',zj_date.DateTime);
parameters.ParamByName('a8').Value:=bumen.Text;
parameters.ParamByName('a9').Value:=fazhan.Text;
parameters.ParamByName('a10').Value:=beizhu.Text;
parameters.ParamByName('a11').Value:=Tcpclient1.localhostaddr;
parameters.ParamByName('a12').Value:=FormatdateTime('yyyy-mm-dd hh:nn:ss',date);
parameters.ParamByName('a13').Value:=v_gh_gh;
parameters.ParamByName('a14').Value:=v_xm;
execsql;
end;
end;

[解决办法]
用to_char(rq ,'yyyy-MM-dd hh:mm:ss')试试看呢?
[解决办法]
Date类型本身仅保存日期,没有小时、分、秒
改Oracle字段类型吧

若没记错
[解决办法]
我测试的可以的啊,以下记录1是上一次给你回贴,4是今天的测试

1* select id,to_char(d_d,'yyyy-mm-dd hh24:mi:ss') from test
SQL> /

ID TO_CHAR(D_D,'YYYY-M
---------- -------------------
4 2010-04-25 15:52:58
4 2010-04-25 15:55:28
4 2010-04-25 15:59:03
1 2010-04-24 16:41:36
---------------------------------------
可能的问题.正如我上面给你的,要用now而非date,因为date中时间为00:00:00

读书人网 >.NET

热点推荐