请教一个关于数据窗口显示速度的问题!

xiaozg118 2006-03-16 02:40:49
程序内容:
从数据库中取出一些数据(库不大,取得数据也不是很多),然后经过各种各样的计算(计算比较多,但基本都是一些加减乘除)得出很多个变量值(100个左右),然后用dwname.setitem的方法向一个复合数据窗口付值
现象: 在有的机器上速度很快,在有的机器上速度很慢(有可能慢的机器性能却比快的机器高)
自己在显示慢的机器上调试的结果:发现取数据,计算数据都很快,但用dwname.setitem付值占的时间很长
请问:如何解决?
...全文
206 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hws528 2006-03-29
  • 打赏
  • 举报
回复
如果可以的话,最好都在dw中直接用compute栏位
DST_good 2006-03-29
  • 打赏
  • 举报
回复
dwname.object.data[行,列名号] = 变量
速度会快一些
wu_07 2006-03-29
  • 打赏
  • 举报
回复
1\用.形式比setitem要快
2\先dw.setredraw(false)

//.....run

setredraw(true)
3\每一列计算结果先都放到数组中,然后整体赋给dw
string ls1[],ls2[]
如dw_2.object.col1.Primary = ls1
dw_2.object.col2.Primary = ls2
slience 2006-03-27
  • 打赏
  • 举报
回复
如果是显示的时候慢的话,可以先插入一个隐藏的数据窗口,然后显示!
mengqifeng 2006-03-27
  • 打赏
  • 举报
回复
用 dwname.object.columnname[i]=值也行
mengqifeng 2006-03-27
  • 打赏
  • 举报
回复
所有的计算都用计算列吧,用setitem速度会慢很多
xiaozg118 2006-03-24
  • 打赏
  • 举报
回复
那不会要把所有报表里要显示的数据都先存在数据库中吧?况且现在的问题是慢并不慢在得到数据的时候,而是显示的时候!
netspies 2006-03-22
  • 打赏
  • 举报
回复
帮顶,顺便接分。
li_d_s 2006-03-22
  • 打赏
  • 举报
回复
应该把计算结果直接存放临时表,然后一次select出来
青锋-SS 2006-03-22
  • 打赏
  • 举报
回复
先存到数据库里面,然后再retrieve().
xiaozg118 2006-03-21
  • 打赏
  • 举报
回复
我试了,但效果好像不明显
dreamnow 2006-03-16
  • 打赏
  • 举报
回复
直接赋值,nbtoms(宾子寻月人) 说得对,这样快许多。
for ll_row = 1 to dw_old.rowcount()
dwname.object.columnname[i]=值
.....
next
宾子寻月人 2006-03-16
  • 打赏
  • 举报
回复
for ll_row = 1 to dw_old.rowcount()
dwname.object.columnname[]=dw_old.object.columnname[]
.....
next

if dwname.update() = 1 then
commit using sqlca;
else
rollback using sqlca;
end if
JustNoOtherWay 2006-03-16
  • 打赏
  • 举报
回复
直接
dwname.object.columnname[]赋值要比setitem()的方法要快,试试
mfkvfn 2006-03-16
  • 打赏
  • 举报
回复
取一个向复合数据窗口付一个值不行吗?

1,076

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧