在处理大量数据时如何执行和VCL有空的函数如刷新窗体上的标签.(50分)

  • 主题发起人 chen_jianxiong
  • 开始时间
C

chen_jianxiong

Unregistered / Unconfirmed
GUEST, unregistred user!
我用下面的方法执行一个测试,但由于查询的测试数据量有好几万条,当执行这句话时
Labe1.caption没法显示.有什么简单的方法处理这个问题.不要告诉我把所有的查询
放在其他的一个线程中,我只是测试这种问题的解决办法.
procedure TForm1.Button1Click(Sender: TObject);
var
strSQL : string;
begin
Label1.Caption := '开始执行SQL语句';
CloseQuery(qrySrc);
strSQL := Trim(Memo1.Lines.Text);
qrySrc.SQL.Text := strSQL;
qrySrc.Open;<----大量的数据
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
strSQL : string;
begin
Label1.Caption := '开始执行SQL语句';
Label1.Update;//添一句试试?
CloseQuery(qrySrc);
strSQL := Trim(Memo1.Lines.Text);
qrySrc.SQL.Text := strSQL;
qrySrc.Open;<----大量的数据
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
strSQL : string;
begin
Label1.Caption := '开始执行SQL语句';
Label1.Update;
Update;
CloseQuery(qrySrc);
strSQL := Trim(Memo1.Lines.Text);
qrySrc.SQL.Text := strSQL;
qrySrc.Open;<----大量的数据
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
strSQL : string;
begin
Label1.Caption := '开始执行SQL语句';
Label1.Refresh; << 强制刷新
CloseQuery(qrySrc);
strSQL := Trim(Memo1.Lines.Text);
qrySrc.SQL.Text := strSQL;
qrySrc.Open;<----大量的数据
end;
 
大伙都对,平分吧.
 
顶部