使用定时器刷新数据库的问题
有个应用的需求如下:
需要对多个数据库进行监控,我使用了tabcontrol控件上放一个dbchart,每次切换到不同tab的时候连接数据库。
然后使用定时器,每隔一定时间定时刷新一下当前tab上的数据库表。
这时会有个问题,就是如果切到相应的tab上,但是还没输入用户密码的时候,正好赶上定时器刷新了,程序就会报错。
请教这种情况有什么好的办法避免,谢谢。
定时器的代码如下:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if tabDB = 0 then
begin
datasetUC.Close;
datasetUc.Open;
datasetUC.Refresh;
end;
if tabDB = 1 then
begin
datasetCR.Close;
datasetCR.Open;
datasetCR.Refresh;
end;
end;
[解决办法]
procedure TForm1.PageControl1Change(Sender: TObject);begin Timer1.Enabled := False; //输入用户密码 //打开数据库 Timer1.Enabled := True;end;