PowerBuilder数据窗口缓冲区

数据窗口是用户前端用来存储、操作数据的对象。具体可查询数据窗口缓冲区关系图进行了解。可以用dwBuffer来指定要操作哪个缓冲区:

主缓冲区(PrimaryBuffer):Primary!;

过滤缓冲区(FilterBuffer):Filter!;

删除缓冲区(DeleteBuffer):Delete!。

作用:

主缓冲区:存放填充窗口中的数据窗口控件中的数据,调用Retrieve()函数和InsertRow()函数使用;删除在此相应记录,使用数据窗口删除和过滤函数;查看在此记录,执行Update()函数。

删除缓冲区:保存被DeleteRow()函数从主缓冲区删除的记录,执行Update()函数时,会形成DELETE语句。

过滤缓冲区:存储使用Filter()函数过滤到主缓冲区后剩余的记录。

数据窗口编辑状态

大致概括为:数据窗口通过数据库检索数据时,符合过滤条件的数据进入过滤缓冲区,其他的数据都进入主缓冲区(显示的是这个),当改变过滤条件时,对应的主缓冲区和过滤缓冲区也会进行改变,而当用户删除某个记录后,记录会从主缓冲区进入删除缓冲区。

ps:如果当前数据窗口没有设置修改的权限,就无法对删除缓冲区和源缓冲区进行操作,调用Update()函数也会报错。

主缓冲区和删除缓冲区都有行级和列级的状态值,有以下四种:

NotModified!:该行或列的值为查询所得,未改变。

DataModipopowerbuilderwerbuilderfied!:改行或列的值为查询所得,发生改变。

New!:该行或列为新插入的行,数据未改变(为空或默认值)。

NewModified!:该行或列为新插入的行,数据发生改变(由用户键盘输入或调用SetItem()函数引起)。

转换状态

通过SetItemStatus函数将行或列转换为另一个状态,具体转换可以查询合法的编辑状态转换图。不能直接转换的可以通过多次转换来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值