使用DBGrid DataSource ADOQuery ADOConnection 修改一条数据将近3秒,
使用sql语句倒是非常快,但是在DBGrid中不自动更新 with DataM.ADOCatalogTBQry do //DBGrid1.DataSource.DataSet do
begin
Edit;
FieldByName('ArchNo').Value := tmpArchNo;
FieldByName('SectNo').Value := tmpSectNo;
FieldByName('CatalogNo').Value := tmpCatalogNo;
FieldByName('RollNo').Value := tmpRollNo;
FieldByName('FileNo').Value := tmpFileNo;
FieldByName('tm').Value := tmptm;
FieldByName('wjbh').Value := tmpwjbh;
FieldByName('bgqx').Value := tmpbgqx;
FieldByName('zrz').Value := tmpzrz;
FieldByName('ztc').Value := tmpztc;
FieldByName('sj').Value := tmpsj;
FieldByName('ys').Value := tmpys;
FieldByName('yh').Value := tmpyh;
FieldByName('re').Value := tmpre;
Post; if Eof then
begin
Edit_yh.Tag := 0;
ShowErrorInfo('已到达最后一条');
end
else
begin
if tryStrToInt(tmpYh,i) then
Edit_yh.Tag := StrToInt(tmpYh) + ImageEnMView1.ImageCount
else
Edit_yh.Tag := 0; Next;
end;
end;
使用sql语句倒是非常快,但是在DBGrid中不自动更新 with DataM.ADOCatalogTBQry do //DBGrid1.DataSource.DataSet do
begin
Edit;
FieldByName('ArchNo').Value := tmpArchNo;
FieldByName('SectNo').Value := tmpSectNo;
FieldByName('CatalogNo').Value := tmpCatalogNo;
FieldByName('RollNo').Value := tmpRollNo;
FieldByName('FileNo').Value := tmpFileNo;
FieldByName('tm').Value := tmptm;
FieldByName('wjbh').Value := tmpwjbh;
FieldByName('bgqx').Value := tmpbgqx;
FieldByName('zrz').Value := tmpzrz;
FieldByName('ztc').Value := tmpztc;
FieldByName('sj').Value := tmpsj;
FieldByName('ys').Value := tmpys;
FieldByName('yh').Value := tmpyh;
FieldByName('re').Value := tmpre;
Post; if Eof then
begin
Edit_yh.Tag := 0;
ShowErrorInfo('已到达最后一条');
end
else
begin
if tryStrToInt(tmpYh,i) then
Edit_yh.Tag := StrToInt(tmpYh) + ImageEnMView1.ImageCount
else
Edit_yh.Tag := 0; Next;
end;
end;
sql语句 + 手动更新界面。
ADOQuery1.EnableControls
可以 快很多~