急,请各位老兄帮忙看看,为何数据处理如此慢?(50分)

  • 主题发起人 王老吉
  • 开始时间

王老吉

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
什么意思?
 
你用的是 bde 的 odbc 管道吧?这个东东不好。试试ado吧。
 
表中记录太多?
 
查询前先prapare会快一点
 
bde连sql server,用森么odbc.
增加时,设Table2.DisableControls.
另外,是否是设主从表的关系?我从来不用竹丛表设置的,自己控制。
 
请问在建立BDE别名时其中有两个选择,MSSQL和SQL SERVER,他们有什么不同,都是微软的
SQL SERVER吗?我用的是SQL SERVER 2000,应该选择哪一个?
在选择MSSQL时,可以通过设置其SERVER NAME和DataBase Name就可以连接后端的SQL SERVER 2000
而选择SQL SERVER时,好象必须另外建立一个ODBC数据源供其连接后端的SQL SERVER 2000
到底是选择哪一个?有什么区别?
 
MSSQL,不用设odbc
 
这种问题我也碰到过,我解决的方法是:
先把数据全部清空,如果快了说明你的索引字段有问题,即数据出错有垃圾数据。
去掉这些垃圾数据试试
 
顶部