新手问:datastore是什么,能不能具体解释一下!

ADO2003 2003-06-02 02:12:02
datawindow控件与datastore的关系是什么?
...全文
927 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ADO2003 2003-06-02
  • 打赏
  • 举报
回复
如何在DATAWINDOW控件中不关联DATAWINDOW对象而显示数据,是不是用DATASTORE?
boyliulang 2003-06-02
  • 打赏
  • 举报
回复
PowerBuilder 使用数据存储代替游标


Datastore 是 PwerBuilder中不可视的数据窗口控制。与数据窗口相比除了视觉以外其他各个方面都极其相似。

由于datastore具有对数据的交互操作,所以用它来代替在程序中经常使用的游标Cursors. 使用datastore检索数据比游标的速度快,并对数据的分组变得容易,提高比较高级的过滤功能,在程序中不需要变量也可以访问数据,并且在PB中使编码变得相对简单。

使用datastore对数据也有缺点:
使用datastore时候必须有检索对应数据的数据窗口对象;

你使用后必须及时的释放datastore占用的内存空间,一面产生内存空洞;

下面举个简单的例子说明如何人在程序中使用游标和datastore进行查询数据,它们具有一曲同工之效:

1,下面是采用游标的方式取得可户信息的事例程序;

String ls_cust_code,ls_customer_name,ls_address

DECLARE lc_my_cursor CURSOR FOR

SELECT customers.cust_id,customers.cust_name,customers.cust_address

FROM customers ORDER BY cust_code;

OPEN lc_my_cursor;

FETCH lc_my_cursor INTO :ls_cust_code,:ls_customer_name,ls_address;

DO WHILE SQLCA.SQLCODE = 0

FETCH lc_my_cursor INTO :ls_cust_code,:ls_customer_name,:ls_address;

LOOP

CLOSE lc_my_cursor

2,采用Datastore实现上面同样的功能:

String ls_cust_code,ls_customer_name,ls_address

long ll_row,ll_row_count

datastore lds_dstastore

lds_datastore = CREATE datastore

lds_datastore.dataobject = "d_customers"

lds_datastore.settransobject(sqlca)

lds_datastore.retrieve()

ll_row_count = lds_datastore.rowcount()

FOR ll_row = 1 to ll_row_count

ls_cust_code = lds_datastore.getitemstring(ll_row,"cust_id")

ls_cust_code = lds_datastore.getitemstring(ll_row,"cust_name")

ls_cust_code = lds_datastore.getitemstring(ll_row,"cust_address")

NEXT

DESTROY lds_datastore

说明:上面的数据窗口对象包括数据库中Customers表中的cust_id,cust_name,cust_address

列。以上是游标和datastore的转换,请广大网友借鉴。

  • 打赏
  • 举报
回复
datawindow和datastore是区别:
datawindow是可视的
datastore是不可视的用法相当于datawindow
boyliulang 2003-06-02
  • 打赏
  • 举报
回复
datstore就好比看不见的datawindow,你可以对其向操作datawindow一样操作数据,如打印等等
devil_heart 2003-06-02
  • 打赏
  • 举报
回复
简单的说,datastore是一个不可视的datawindow控件

610

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧