delphi7 当数据库内数据发生变化时 如何在程序中自动刷新 数据是用label显示的

delphi7 当数据库内数据发生变化时 怎么在程序中自动刷新 数据是用label显示的
一下是timer中的代码
procedure TForm1.tmr1Timer(Sender: TObject);
var
  i,j:Integer;

begin

  for i:=2 to 11 do
  begin
    TLabel(FindComponent('lbl'+inttostr(i))).caption := '';
  end;
  if qry1.Eof then qry1.First;
  i:=2;
  while (not qry1.Eof) and (i<12) do

  begin
     TLabel(FindComponent('lbl'+inttostr(i))).caption :=  qry1.Fields[0].AsString;
     i:=i+1;
     qry1.Next;
  end;

  for j:=12 to 21 do
  begin
    TLabel(FindComponent('lbl'+inttostr(j))).Caption:='';
  end;
  if qry2.Eof then qry2.First;
  j:=12;
  while (not qry2.Eof) and (j<22) do

  begin
    TLabel(FindComponent('lbl'+inttostr(j))).Caption:='¥'+qry2.Fields[0].AsString;
    j:=j+1;
    qry2.Next;
  end;
数据库 数据 delphi label

------解决方案--------------------
变化也是程序执行才变化啊。程序执行完成后刷新数据库不就是了。简单明了。。哈哈
问问大神们把
------解决方案--------------------
你的timer就是每过一段时间  就查一下数据库 然后把结果显示到界面上。
所以你的事件里面 应该qry1重新查询,而不是一直用以前的结果集。
明白了吧  加几句代码而已
------解决方案--------------------
你在if qry1.Eof then qry1.First;前应该先刷新一下qry1
你在if qry2.Eof then qry1.First;前应该先刷新一下qry2
------解决方案--------------------
你应该设置timer的间隔后,在ontimer事件中更新qry1和qry2。
这样就可以动态的显示增加的数据了。delphi7 当数据库内数据发生变化时 如何在程序中自动刷新   数据是用label显示的