本文主要是介绍powerbuilder Primary! Delete! Filter! 三个缓冲区的作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 Thendw_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")
希望以上示例能帮助到你!
这篇关于powerbuilder Primary! Delete! Filter! 三个缓冲区的作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!