我做了一个数据传输程序,一分钟执行一次!把一个数据库中的数据到到另一个(异地)的数据库中!
程序开始两天运行的还可以 但是过两天后就会有大量的数据丢失。真是郁闷……
下面是部分代码,我用定时器执行的!请问这样合理吗?
chongxie:
with adoqel do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * from tablex where date1 =:datex order by time1 ');
Parameters[0].Value:= FormatDateTime('yyyy-mm-dd', Now);
Prepared;
Open;
if adoqel.Eof = true then
begin
writeTimer2.Enabled := true;
end
else
begin
last;
min := fieldbyname('min').Value;
time1:= fieldbyname('time1').Value;
date1 := fieldbyname('date1 ').Value;
end;
end;
//***********************
with adoqtc do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * From mintable where date1 =:datex ');
Parameters[0].Value:= FormatDateTime('yyyy-mm-dd', Now);
Prepared;
Open;
Append ;
fieldbyname('min').Value := min;
fieldbyname('time1').Value :=time1;
fieldbyname('date1').Value :=date1; Post;
////////////////////////
Close;
SQL.Clear;
SQL.Add('SELECT * From second_curve_mintable where date1 =:datex and time1=:timex ');
Parameters[0].Value:= date1;
Parameters[1].Value:= time1;
Prepared;
Open;
if adoqtc.Eof = true then
begin
goto chongxie;
end
else
begin
label1.Caption := datetimetostr(now)+'数据已经传输';
end;
end;
程序开始两天运行的还可以 但是过两天后就会有大量的数据丢失。真是郁闷……
下面是部分代码,我用定时器执行的!请问这样合理吗?
chongxie:
with adoqel do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * from tablex where date1 =:datex order by time1 ');
Parameters[0].Value:= FormatDateTime('yyyy-mm-dd', Now);
Prepared;
Open;
if adoqel.Eof = true then
begin
writeTimer2.Enabled := true;
end
else
begin
last;
min := fieldbyname('min').Value;
time1:= fieldbyname('time1').Value;
date1 := fieldbyname('date1 ').Value;
end;
end;
//***********************
with adoqtc do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * From mintable where date1 =:datex ');
Parameters[0].Value:= FormatDateTime('yyyy-mm-dd', Now);
Prepared;
Open;
Append ;
fieldbyname('min').Value := min;
fieldbyname('time1').Value :=time1;
fieldbyname('date1').Value :=date1; Post;
////////////////////////
Close;
SQL.Clear;
SQL.Add('SELECT * From second_curve_mintable where date1 =:datex and time1=:timex ');
Parameters[0].Value:= date1;
Parameters[1].Value:= time1;
Prepared;
Open;
if adoqtc.Eof = true then
begin
goto chongxie;
end
else
begin
label1.Caption := datetimetostr(now)+'数据已经传输';
end;
end;
解决方案 »
- 问一个关于文件函数的小白问题
- cbSWTGroups.Items.InsertObject(0, edtGroupName.Text, TObject(Group_ID));
- Dll问题?
- WordApplication1.Connect无法启动word 200410
- 各位大虾帮帮忙啊!
- 字符串包含判断--急需!!
- 我有两个CPU 如何在DELPHI中实现查询语句的并行?
- 功能实现求助
- 我使用InstallShield将我做好了的程序打包,在另外一台没有装BDE的机器上安装后运行程序,提示没安装DB-Libary通信层
- 各位高人,请教一个关于打印的问题?
- 自定义的控件,属性设置的问题,高人请进!!!
- 大家讨论,怎么杀死3721!
需要说明的是同样的程序,
我把它移植到另外一个数据库(源)上,就没有出现过问题!
程序所填写的数据库是同一个目标数据库!!!