当前位置:主页>仓库管理软件> 列表

DbGrid修改ADODateSet,用计算字段太慢,有无 找web进销存源码

库存管理软件版1楼: 例如Table1 为物料基本资料库, Table2为供应商报价库,
其中Table2只有物料编号和单价的栏位,没有物料名称和单位等栏位,
我用DbGridEh对Table2修改资料时只好用计算字段, 从table1中提取物料名称和单位等
栏位资料,
这种方法程式运行时比较慢, 有无更好的方案?

2楼: 为什么不用视图? 如web进销存源码

3楼: 视图不能插入新记录

4楼: 一般应该建立 Lookup 字段。不过用计算字段也不应该太慢,估计你的算法有问题或数据库设计不合理。

5楼: procedure TDM1.T2bbomCalcFields(DataSet: TDataSet);
begin
if (Q1Med.Active)and(T1cduse.Active)then
begin
if Q1Med.Locate(''itno'',T2bbomItno2.AsString,[])then
begin
T2bbomitna.Value:=Q1Med.fieldbyname(''itna'').AsString;
T2bbomitwid.Value:=Q1Med.fieldbyname(''itwid'').AsFloat;
T2bbomitlen.Value:=Q1Med.fieldbyname(''itlen'').AsFloat;
end;
if T1cduse.Locate(''cdno'',T2bbomusno.Value,[])then
T2bbomusna.Value:=T1cduse.fieldbyname(''cdna'').AsString;


end;
end;

6楼: 如果Table2中记录较多,比如500以上,是会有点慢的,我也遇到过。
不过,通常不会一次性地处理太多记录,如果是的话,思路得改一改。

库存管理软件版7楼: 用数据库关联,就不用.Locate查找,速度肯定会快

8楼: DBGrid好象不支持关联的数据吧,
如果是DbEdit自然没有问题