读书人

关于数据更新的有关问题

发布时间: 2012-02-24 16:30:39 作者: rapoo

关于数据更新的问题!
我下面的 代码 ,其中 RQ字段的值是 2011/12/30 15:30:20 ,请问代码哪错了 为什么update更新不了日期?
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select RQ,NAME from ceshi where NAME="123"');
open;
end;
with adoquery2 do
begin
close;
SQL.Clear;
SQL.Add('update CF set RQ=:rq where NAME=:name');
Parameters.ParamByName('rq').Value:=adoquery1['RQ'];
Parameters.ParamByName('kfh').Value:=adoquery1['NAME'];
ExecSQL;
end;

[解决办法]
没这个参数
Parameters.ParamByName('kfh').Value:=adoquery1['NAME'];


[解决办法]
还是自己合成吧,那玩意不好使的。

Delphi(Pascal) code
SQL.Text := 'update CF set RQ=''' + FormatDateTime('yyyy-mm-dd hh:mm:ss',adoquery1['RQ']) + ''' where name=''' + adoquery1['NAME'] + '''';ExecSQL;
[解决办法]
日期格式与数据库有关的,要看你数据库日期转换函数
我们的项目从不用日期格式字段,而是用格式化的字符字段,这样便于移植

[解决办法]
SQL.Add('update CF set RQ=:rq where NAME=:name');
Parameters.ParamByName('rq').Value:=FormateDateTime('yyyy-mm-dd hh:mm:ss',adoquery1.FieldByName('RQ').AsDateTime);Parameters.ParamByName('name').Value:=adoquery1['NAME'];
ExecSQL;

[解决办法]
看看adoquery1['NAME']是什么,也许并不存在这条记录,当然就更新不成功了

读书人网 >.NET

热点推荐