当前位置: 代码迷 >> PB >> 请教有没有更好的存档方式 可以让存档的速度更快
  详细解决方案

请教有没有更好的存档方式 可以让存档的速度更快

热度:59   发布时间:2016-04-29 08:44:53.0
请问有没有更好的存档方式 可以让存档的速度更快
请问 

问题 : 
程式的方式是先把某一个资料叫出来 显示在dw_1中
然后 审查完 确认存档时 要存到 另ㄧ个 资料表中 (存档资料表为aat)

状况 :

用以下的程式码 (撷取存档部分而已)
可以存档成功


若是笔数多 例如 叫出来的资料有30笔 审查完要存档 存档时 要花大约10秒
若是笔数少 例如 约2-5笔 就大约1秒就会存档完毕

请问有没有更好的存档方式 可以让存档的速度更快
----------------------------------------以下为存档程式码 (撷取其中存档部份)

ppc=long(dw_1.ROWCOUNT())
for i = 1 to ppc 
订货单号a=string((dw_1.getitemstring(i,"订货单号")))
产品条码a=string((dw_1.getitemstring(i,"产品条码")))
产品名称a=string((dw_1.getitemstring(i,"产品名称")))
订货数量a=string((dw_1.getitemstring(i,"订货数量")))
订货价a=string((dw_1.getitemstring(i,"订货价")))
订货小计a=string((dw_1.getitemstring(i,"订货小计")))

LsSQL5=""
LsSQL5="INSERT INTO "+aat+" (订货单号,产品条码,产品名称,订货数量,订货价,订货小计)"  
LsSQL5=LsSQL5 +" values("+ 订货单号a +",'"+ 产品条码a +"','"+ 产品名称a+"','"+ 订货数量a +"','"+ 订货价a+"','"+ 订货小计a+"')"
EXECUTE IMMEDIATE:LsSQL5 USING SQLCB ;
next

请问有没有更好的存档方式
可以让存档的速度更快




------解决方案--------------------
用一个DW保存!

 审查通过的,就复制到另一DW中,最后保存就行了!

一般直接审查就是在修改原数据中的审查标志,不用另存!
------解决方案--------------------
探讨
用一个DW保存!

审查通过的,就复制到另一DW中,最后保存就行了!

一般直接审查就是在修改原数据中的审查标志,不用另存!

------解决方案--------------------
一、把insert改向到数据窗口,进行一次提交
二、建议还是通过审核标志去做,加个审核人与审核日期就可以了~~
------解决方案--------------------
呵呵,也一样呀,
按上面的方式insert到数据窗口后,指定b的事务,再setitemstated为newmodify!再update就可以了呀~~
------解决方案--------------------
探讨
请问3楼

把insert改向到数据窗口,进行一次提交

这样的方式  该怎样处理

------解决方案--------------------
这一句是将dw_1中的数据复制到dw_2中,相当于将dw_1中的数据insertrow到dw_2中,但这样的块操作会比你insertrow后再setitem快很多~~
------解决方案--------------------
嗯,这样就可以了,dw_2会自动生成相应的insert写入数据库
  相关解决方案