powerbuilder Primary! Delete! Filter! 三个缓冲区的作用

本文介绍了PowerBuilder中如何使用Primary缓存区进行数据操作,包括删除特定行、通过Filter筛选数据以及使用RowsCopy复制数据。示例展示了删除、筛选和行复制的具体实现方法。

Primary! 主缓存区,放正在使用的数据。
Delete! 删除缓存区,放将要删除但还没有提交到数据库的数据。
Filter! 筛选缓存区,放不符合筛选条件的数据。

最后在update的时候根据你的update设置生成相应的SQL语句。行的状态和所在的缓存区决定生成语句的类型,各列的状态和值决定生成的具体SQL语句的表达式或条件。primary、filter 缓存区,如果行是NewModified!的生成insert语句,如果是DataModified!的生成update语句;delete!缓存区的行如果是NotModified!或DataModified!的,生成delete语句。

在PowerBuilder中,可以使用Primary缓冲区来操作数据库表的数据。下面是关于如何转移数据的三个示例:

  1. Delete(删除):使用Delete方法从Primary缓冲区中删除数据。例如,要删除一个名为"customer"的表中的特定行,可以使用以下代码:
dw_1.SetTransObject(SQLCA)
dw_1.Retrieve()
int row
row = dw_1.Find("customer_id = 12345")
If row > 0 Then
    dw_1.DeleteRow(row)
    Commit()
End If

  1. Filter(过滤):使用Filter方法从Primary缓冲区中筛选数据。例如,要通过姓名过滤一个名为"employee"的表中的数据,可以使用以下代码:
dw_2.SetTransObject(SQLCA)
dw_2.Retrieve()
dw_2.Filter("emp_name = 'John Smith'")

  1. RowsCopy(行复制):使用RowsCopy方法将Primary缓冲区中的数据复制到另一个缓冲区。例如,要将一个名为"order"的表中的所有行复制到名为"order_copy"的另一个表中,可以使用以下代码:
dw_3.SetTransObject(SQLCA)
dw_3.Retrieve()
dw_4.SetTransObject(SQLCA)
dw_4.RowsCopy(1, dw_3.RowCount(), Primary!, "order_copy")

希望以上示例能帮助到你!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zz_ll9023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值