with adoq_ServerMain do
begin
close;
sql.Clear;
sql.Add('Select EXID,STNA,STID,CLAS,STAT,RETI,LEVE,COMP,COIP,PANO');
sql.Add('From StudInfo');
sql.Add('Order By EXID');
open;
end;
DBGrid1.Columns[0].FieldName:='EXID';
DBGrid1.Columns[1].FieldName:='STNA';
DBGrid1.Columns[2].FieldName:='STID';
DBGrid1.Columns[3].FieldName:='CLAS';
DBGrid1.Columns[4].FieldName:='STAT';
DBGrid1.Columns[5].FieldName:='RETI';
DBGrid1.Columns[6].FieldName:='LEVE';
DBGrid1.Columns[7].FieldName:='COMP';
DBGrid1.Columns[8].FieldName:='COIP'上面是在主界面显示学生信息的语句,我想在StatuBar上显示一些统计的信息,但是加入这些语句后界面就不断的闪动,好像是在不断的刷新,是什么原因呀?加入的语句如下:stbServerMain.Panels.Items[0].Text:='所有考生人数:'+IntToStr(adoq_ServerMain.RecordCount)+' 人';
adoq_ServerMain.First;
iTestEnd:=0;
while not adoq_ServerMain.Eof do
begin
if Trim(adoq_ServerMain.FieldByName('COMP').AsString)='null' then
iTestEnd:=iTestEnd+1;
adoq_ServerMain.Next;
end;
iTestingCount:=adoq_ServerMain.RecordCount-iTestEnd;
stbServerMain.Panels.Items[1].Text:='参考人数: '+IntToStr(iTestingCount)+' 人';
stbServerMain.Panels.Items[2].Text:='未参考人数: '+IntTostr(iTestEnd)+' 人'
begin
close;
sql.Clear;
sql.Add('Select EXID,STNA,STID,CLAS,STAT,RETI,LEVE,COMP,COIP,PANO');
sql.Add('From StudInfo');
sql.Add('Order By EXID');
open;
end;
DBGrid1.Columns[0].FieldName:='EXID';
DBGrid1.Columns[1].FieldName:='STNA';
DBGrid1.Columns[2].FieldName:='STID';
DBGrid1.Columns[3].FieldName:='CLAS';
DBGrid1.Columns[4].FieldName:='STAT';
DBGrid1.Columns[5].FieldName:='RETI';
DBGrid1.Columns[6].FieldName:='LEVE';
DBGrid1.Columns[7].FieldName:='COMP';
DBGrid1.Columns[8].FieldName:='COIP'上面是在主界面显示学生信息的语句,我想在StatuBar上显示一些统计的信息,但是加入这些语句后界面就不断的闪动,好像是在不断的刷新,是什么原因呀?加入的语句如下:stbServerMain.Panels.Items[0].Text:='所有考生人数:'+IntToStr(adoq_ServerMain.RecordCount)+' 人';
adoq_ServerMain.First;
iTestEnd:=0;
while not adoq_ServerMain.Eof do
begin
if Trim(adoq_ServerMain.FieldByName('COMP').AsString)='null' then
iTestEnd:=iTestEnd+1;
adoq_ServerMain.Next;
end;
iTestingCount:=adoq_ServerMain.RecordCount-iTestEnd;
stbServerMain.Panels.Items[1].Text:='参考人数: '+IntToStr(iTestingCount)+' 人';
stbServerMain.Panels.Items[2].Text:='未参考人数: '+IntTostr(iTestEnd)+' 人'
with adoq_ServerMain do
begin
close;
sql.Clear;
sql.Add('Select EXID,STNA,STID,CLAS,STAT,RETI,LEVE,COMP,COIP,PANO');
sql.Add('From StudInfo');
sql.Add('Order By EXID');
open;
end;
DBGrid1.Columns[0].FieldName:='EXID';
DBGrid1.Columns[1].FieldName:='STNA';
DBGrid1.Columns[2].FieldName:='STID';
DBGrid1.Columns[3].FieldName:='CLAS';
DBGrid1.Columns[4].FieldName:='STAT';
DBGrid1.Columns[5].FieldName:='RETI';
DBGrid1.Columns[6].FieldName:='LEVE';
DBGrid1.Columns[7].FieldName:='COMP';
DBGrid1.Columns[8].FieldName:='COIP';
stbServerMain.Panels.Items[0].Text:='所有考生人数:'+IntToStr(adoq_ServerMain.RecordCount)+' 人';
adoq_ServerMain.First;
iTestEnd:=0;
while not adoq_ServerMain.Eof do
begin
if Trim(adoq_ServerMain.FieldByName('COMP').AsString)='null' then
iTestEnd:=iTestEnd+1;
adoq_ServerMain.Next;
end;
iTestingCount:=adoq_ServerMain.RecordCount-iTestEnd;
stbServerMain.Panels.Items[1].Text:='参考人数: '+IntToStr(iTestingCount)+' 人';
stbServerMain.Panels.Items[2].Text:='未参考人数: '+IntTostr(iTestEnd)+' 人'end;
我这样写,还是有问题呀?
adoq_ServerMain.DisableControls;//新加
stbServerMain.Panels.Items[0].Text:='所有考生人数:'+IntToStr(adoq_ServerMain.RecordCount)+' 人';
adoq_ServerMain.First;
iTestEnd:=0;
while not adoq_ServerMain.Eof do
begin
if Trim(adoq_ServerMain.FieldByName('COMP').AsString)='null' then
iTestEnd:=iTestEnd+1;
adoq_ServerMain.Next;
end;
iTestingCount:=adoq_ServerMain.RecordCount-iTestEnd;
stbServerMain.Panels.Items[1].Text:='参考人数: '+IntToStr(iTestingCount)+' 人';
stbServerMain.Panels.Items[2].Text:='未参考人数: '+IntTostr(iTestEnd)+' 人'
adoq_ServerMain.EnableControls;//新加