powerbuilder Primary! Delete! Filter! 三个缓冲区的作用
2023-12-24 08:27:43
Primary! 主缓存区,放正在使用的数据。
Delete! 删除缓存区,放将要删除但还没有提交到数据库的数据。
Filter! 筛选缓存区,放不符合筛选条件的数据。
最后在update的时候根据你的update设置生成相应的SQL语句。行的状态和所在的缓存区决定生成语句的类型,各列的状态和值决定生成的具体SQL语句的表达式或条件。primary、filter 缓存区,如果行是NewModified!的生成insert语句,如果是DataModified!的生成update语句;delete!缓存区的行如果是NotModified!或DataModified!的,生成delete语句。
在PowerBuilder中,可以使用Primary缓冲区来操作数据库表的数据。下面是关于如何转移数据的三个示例:
- 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
- Filter(过滤):使用Filter方法从Primary缓冲区中筛选数据。例如,要通过姓名过滤一个名为"employee"的表中的数据,可以使用以下代码:
dw_2.SetTransObject(SQLCA)
dw_2.Retrieve()
dw_2.Filter("emp_name = 'John Smith'")
- 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")
希望以上示例能帮助到你!
文章来源:https://blog.csdn.net/zz_ll9023/article/details/135137683
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!