王
王老吉
Unregistered / Unconfirmed
GUEST, unregistred user!
delphi 5.0+sql2000
使用BDE通过别名(MYMIS)连接一个odbc(MIS_ODBC)连接后台SQL2000
使用Table1为主表并设定索引为PK_table1,Table2通过MasterSource属性设为从表,二者都设置CachedUpdates为True,
使用TDBGrid显示为从表资料,为何在使用使用table2.append增加资料时很慢,
使用如下的查询结果集增加资料更慢,查询结果集有10笔资料,增加完成就需要12秒左右!!!
begin
with Query1 do
begin
close;
sql.clear;
sql.add('select lpdh_c,scyl_n from mocboms1 where scdh_c=:scdh');
Params[0].AsString:=DBscdh.text;
open;
if RecordCount<=0 then
begin
MessageDlg('无此生产单BOM资料存在!', mtInformation,[mbOk], 0);
exit;
end
else
while not eof do
begin
ErpData.Table2.append;
ErpData.Table2.FieldByname('lpdh_c').Asstring:=FieldByname('lpdh_c').Asstring;
ErpData.Table2.FieldByname('zxqs_n').Asfloat:=FieldByname('scyl_n').Asfloat*ErpData.Tmoc201h1.FieldByname('scsl_n').Asinteger;
next;
end;
end;
end;
使用BDE通过别名(MYMIS)连接一个odbc(MIS_ODBC)连接后台SQL2000
使用Table1为主表并设定索引为PK_table1,Table2通过MasterSource属性设为从表,二者都设置CachedUpdates为True,
使用TDBGrid显示为从表资料,为何在使用使用table2.append增加资料时很慢,
使用如下的查询结果集增加资料更慢,查询结果集有10笔资料,增加完成就需要12秒左右!!!
begin
with Query1 do
begin
close;
sql.clear;
sql.add('select lpdh_c,scyl_n from mocboms1 where scdh_c=:scdh');
Params[0].AsString:=DBscdh.text;
open;
if RecordCount<=0 then
begin
MessageDlg('无此生产单BOM资料存在!', mtInformation,[mbOk], 0);
exit;
end
else
while not eof do
begin
ErpData.Table2.append;
ErpData.Table2.FieldByname('lpdh_c').Asstring:=FieldByname('lpdh_c').Asstring;
ErpData.Table2.FieldByname('zxqs_n').Asfloat:=FieldByname('scyl_n').Asfloat*ErpData.Tmoc201h1.FieldByname('scsl_n').Asinteger;
next;
end;
end;
end;