我用以下代码更新一个DBGrid中的数据,但是用For循环对每一个记录更新
很慢,要出现等待,请问如何避免等待,能否给出详细代码,谢谢
for i:=0 to table1.RecordCount-1 do
begin
Table1.RecNo:=i;
if Table1.Fields[1].Value=true then
begin
CountTime:=Time-StrToTime(Table1.Fields[2].Value);
Table1.Edit;
Table1.FieldByName('已经上机时间').AsString:=TimeToStr(CountTime);;
Table1.Post;
end;
end;
很慢,要出现等待,请问如何避免等待,能否给出详细代码,谢谢
for i:=0 to table1.RecordCount-1 do
begin
Table1.RecNo:=i;
if Table1.Fields[1].Value=true then
begin
CountTime:=Time-StrToTime(Table1.Fields[2].Value);
Table1.Edit;
Table1.FieldByName('已经上机时间').AsString:=TimeToStr(CountTime);;
Table1.Post;
end;
end;
CountTime:=Time-StrToTime(Table1.Fields[2].Value);
Table1.Edit;
Table1.FieldByName('已经上机时间').AsString:=TimeToStr(CountTime);;
Table1.Post;
adodataset1.commandtext:='update table1 set 已经上机时间='''+TimeToStr(CountTime)+'''';
for i:=0 to table1.RecordCount-1 do
begin
Table1.RecNo:=i;
if Table1.Fields[1].Value=true then
begin
CountTime:=Time-StrToTime(Table1.Fields[2].Value);
Table1.Edit;
Table1.FieldByName('已经上机时间').AsString:=TimeToStr(CountTime);;
Table1.Post;
end;
end;
table1.enableControls;
CountTime:=Time-StrToTime(Table1.Fields[2].Value);
Table1.Edit;
Table1.FieldByName('已经上机时间').AsString:=TimeToStr(CountTime);;
Table1.Post;