当前位置:主页>销售管理软件> 列表

当中途数据库断开时,如何对它重新连接并继续往下执行 找最简单的进销存软件

进销存软件版1楼: 现在有个程序,有好多对数据库进行操作的,现在有个问题就是程序在执行的中途中数据库给断了,现在关键的问题是重新对数据库连接后,如何从出错的地方继续运行下去;
举个简单的例子:比如有5条语句:
1
2
3:此条进行数据库的打开操作
4
5
当执行到第三条的时候,数据库给断掉了,这时会提示出错的信息(出错的信息用函数对它进行捕获.),这时4,5两条就不会执行下去啦,,当数据库重新连接上后,该如何从第三条开始重新运行呢?
我用过程对错误进行捕获:
procedure AppException(Sender: TObject;E: Exception);
begin
//假设出错时就是数据库断开啦
edit1.Text:=E.Message+''10秒后将进行重新连接'';
timer1.Enabled:=true;
end;
在form的oncreate上写:
Application.OnException := AppException;

Timer1Timer过程:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ADOConnection1.Connected:=true;//进行重新连接
if ADOConnection1.Connected then
begin
timer1.Enabled:=false;
edit1.Text:=''重连成功'';
//重连成功后现在该如何从控制从第3条语句重新执行下去呢,下面的语句该

//怎么呢?
.....
.....
顺便问下:Delphi6中有没这样的机制,用一条指令,可以从出错的地方重试运行
end;

end;

分不是很多,要是谁能搞得定的话,,我可以全部捧上,,先谢谢各位DFW啦,,小弟现在被搞得焦头烂额的..望各位出谋划策啊

2楼: 我也遇到了这样的问题,关注中! 如最简单的进销存软件

3楼: 各位高手帮帮忙啊,小弟在此不胜感激~~~

4楼: 好问题!关注了~~
晕,叫我不要灌水?怎么回事 这个论坛?

5楼: 好多天啦,怎么没人回应啊,,好东西大家一起分享下吧

6楼: 晕,从头开始执行啊,用事务控制啊,这样才最安全啊,保证数据的完整性啊

如果你一定要从某一条继续的话,自己写一个执行日志,表明当前执行到哪一句,然后再次联接时先检查执行日志,根据执行日志进行跳转,不过这种方法不建议,破坏数据完整性