如何提高更新删除速度!等等

zyqherozyqhero 2002-02-26 11:21:28
1.我做了一个程序,首先对一个表(这个表和其他表有关联)进行删除数据,然后保存。
语句如下:
do until rownumber<1
ds_1.deleterow(rownumber)
commit;
rownumber -=1
st_2.text="正在初始化出库单..."+string(rownumber)
loop
ds_1.update()
我发现删除速度和更新速度都很慢。
我想问:如何提高更新删除速度?????
2.如何设定每页打印行数(如:每页规定打印12 行数据)。
3.请问1毫米等于多少PB单位。

...全文
54 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
killerdanny 2002-02-27
  • 打赏
  • 举报
回复
我这里有些基础知识说给你听,记得索引吗/
这个东西提高查询速度的同时,也降低的更新和删除速度,因为删除也要更新索引表.
lesni 2002-02-27
  • 打赏
  • 举报
回复
1.使用delete from ...
注意如果数据量过大(超过几万),可能会一次提交不成功,要限制一次删除数量
或者,我以前用过一个损招:drop table 然后再Create Table效果一样,速度一定没问题
rjcludy 2002-02-26
  • 打赏
  • 举报
回复
1、这样改
do until rownumber<1
ds_1.deleterow(rownumber)
rownumber -=1
st_2.text="正在初始化出库单..."+string(rownumber)
loop
if ds_1.update() = 1 then
commit;
else
rollback;
end if

2、在数据窗口中一计算列(取名A) expression填上 int((getrow() - 1)/12)
给数据窗口增加group(rows-->create group-->选中字段A),
在group的属性中选中New page on group break
williamyu 2002-02-26
  • 打赏
  • 举报
回复
用SQL
delete from table_name where <where clause>;
commit ;

为什麽不采用其它单位。
0 PowerBuilder units
1 Display pixels
2 1/1000 of a logical inch
3 1/1000 of a logical centimeter
pbsql 2002-02-26
  • 打赏
  • 举报
回复
1.既然是删除所有数据,为什么不用delete from...直接删除?
vcpb 2002-02-26
  • 打赏
  • 举报
回复
不要每次循环commit
do until rownumber<1
ds_1.deleterow(rownumber)
rownumber -=1
st_2.text="正在初始化出库单..."+string(rownumber)
loop

if ds_1.update()=1 then commit;
zyqherozyqhero 2002-02-26
  • 打赏
  • 举报
回复


在鼠标点击事件中
判断当前点击对象是否是需要输入内容的对象
如果是
则动态创建一个sle或em
然后定位在当前点击对象的位置
并调整大小与被点击对象相同
然后填写当前点击对象内容到其内
显示这个新创建对象
在这个新创建对象的LostFocus事件中
消隐或注销这个对象

基本思路是这样的
具体实现过程还有许多要考虑的问题

不过
肯定能作出来
8-)




回复人: pbsql(风云) ( ) 信誉:100 2002-2-26 12:51:16 得分:0

可以在窗口上加文本框sle_1进行编辑,然后用modify函数修改数据窗口文本的值:
dw_1.modify("t_1.text='"+sle_1.text+"'")




回复人: nana11(nana11) ( ) 信誉:100 2002-2-26 13:38:23 得分:0

可以改的,先给他起个名字,然后吊用modify



回复人: ppxstar_luoxing(胖胖仙) ( ) 信誉:100 2002-2-26 14:22:40 得分:0

但是数据窗口没那有那些控件



回复人: Hanson_bati_zhu(Hanson_bati_zhu) ( ) 信誉:100 2002-2-26 14:28:04 得分:0

动态创建
在Clicked事件中




回复人: keani(基恩) ( ) 信誉:92 2002-2-26 14:28:52 得分:0

如hanson所说,动态创建,并不需要数据窗口有sle或者em,这只是一个接口,你自己还要做的就是接受sle或者em中的数据,然后在传递给数据窗口。就这样了。



回复人: matian(马田) ( ) 信誉:100 2002-2-26 14:42:52 得分:0

pbsql(风云) :
dw_1.modify("t_1.text='"+sle_1.text+"'")为什么用加号啊,解释一下好吗?

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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