我有一个ACCESS数据表,运行了一段时间,里面一个时间字段出问题了,本来是
2003-10-2 12:22:10 的值变成了 2010-2-3 12:22:10 ,后面的小时间没变,就是前面的年月日变了,月跑到年的后半段,年的后半段跑到日,日又变为月了,我现在想写个程序再把它们全部纠正过来,请各位给个方法,我菜鸟一个请各位帮忙!急!
2003-10-2 12:22:10 的值变成了 2010-2-3 12:22:10 ,后面的小时间没变,就是前面的年月日变了,月跑到年的后半段,年的后半段跑到日,日又变为月了,我现在想写个程序再把它们全部纠正过来,请各位给个方法,我菜鸟一个请各位帮忙!急!
解决方案 »
- 上传数据的问题
- delphi读取网页源文件,如何设置超时
- 我用Tquery提交數據時出現 at end of the table 的錯誤。急急急!
- 请教:如何才能实现类似SNIFFER那样,监控本机上运行的其他软件收发的数据包内容的功能?
- TXMLTransformClient问题?
- DBExpress 连接 mysql 4.1.7的简单问题
- 如何使用DELPHI打印条形码(三九码)
- dbgrid如何锁定某一列
- delphi xe5开发android的进来
- 请问高手,有关消息的问题
- 200分表示感谢Allanlove(asdfqwer) 进来领分,再次谢谢你的帮助,版主请放行。
- .exe文件怎么转换成.dll文件?
我是在MSSQL中碰到的。给你参考,我当时的作法是:
我用UPDATE语句把所有的日期清空了,
再把日期填正确的。日期变形的时候,DELPHI的数据敏感控件无法显示出来,只能用ASSCESS或MSSQL
等数据里能看出来,但是无法定位到那条记录的。
var
i: integer;
fd: string;
begin with ADODataSet1 do
begin
for i:=1 to 2000 do
begin
close;
commandtext :='select * from userhistory where id=:id ';
Parameters.ParamValues['id'] :=i;
open; if copy(trim(fieldbyname('endtime').AsString),1,4) = '2010' then
begin
fd :='2003'+'-10'+'-'+copy(trim(fieldbyname('endtime').AsString),6,1) +' '+copy(trim(fieldbyname('endtime').AsString),10,8);
close;
commandtext :='update userhistory set endtime=:endtime where id=:id';
Parameters.ParamValues['endtime'] :=fd;
Parameters.ParamValues['id'] :=i;
open;
end;
end;
end;
end;