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