PB-数据窗口缓冲区与数据修改状态

本文详细介绍了PowerBuilder中数据窗口的四个缓冲区:主缓冲区、删除缓冲区、过滤缓冲区和原始缓冲区,阐述了它们的作用及数据状态管理,强调了在数据修改、过滤、删除操作中的应用,并提供了相关函数的使用示例,帮助理解数据窗口缓冲区的工作原理。
摘要由CSDN通过智能技术生成


1--缓冲区的介绍

在应用程序运行时,用户对数据窗口进行的操作情况是很复杂的,删除、插入、修改等操作有可能都会发生。记录哪些数据修改过、哪些数据需要删除、哪些数据是新增加的等等,都是很重要的工作,以便数据保存时能够正确修改数据库。这些工作都是由数据窗口缓冲区来完成的。

数据窗口在运行时要创建四个缓冲区,分别是主缓冲区、删除缓冲区、过滤缓冲区和原始缓冲区,这四个缓冲区各司其职、共同配合,来保证数据窗口对数据的正确处理。下面分别加以介绍。

1.主缓冲区[Primary Buffer]--存放检索出来的数据,但不包括过滤掉和删除掉的数据。

最重要的一个缓冲区,保存的是当前显示在数据窗口中的所有数据以及它们的修改状态,函数中的缓冲区参数缺省也是该缓冲区,这个缓冲区是存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中。当使用有关DataWindow删除和过滤函数时,相应记录将从这一缓冲区中删除。而在执行DataWindow的Update()函数时,PowerBuilder将查看这一缓冲区中的记录,以形成SQL INSERT和UPDATE语句。

2.删除缓冲区[Delete Buffer]--存放从主缓冲区中删除掉的数据。

该缓冲区保存的是用DeleteRow()或者dw_1.rowsmove(1,3,primary!,dw_1,1,delete!)函数从Primary Buffer中删除的记录,执行Update()函数时,系统根据这一缓冲区的记录形成DELETE语句。在数据没有提交到数据库之前,可以从该缓冲区中将数据恢复出来,数据提交后,该缓冲区中的数据清空。

3.过滤缓冲区[Filter Buffer]--存放从主缓冲区中过滤掉的数据。

该缓冲区中保存的是没有通过【过滤条件】的所有数据,这些数据在存储时同主缓冲区的数据一起生成相应的insert或update语句。存储的是从Original Buffer使用Filter()函数过滤到Primary Buffer中后剩余的记录。

4.原始缓冲区[Original Buffer]--存放从数据库里检索到的原始数据。

这一缓冲区存储的是DataWindow最初执行retrieve()函数时得到的全部记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值