Datawindow(数据窗口DW) 你可以理解它就是一个缓存本地计算机内存中的数据表,相当于一条SQL SELECT命令,当未操作数据窗口DW的Update()方法前,对DW的任何操作添加,删除都是在本地缓存中完成的此时并不影响真正的数据库对应的表内容,而当你调用DW的Retrieve()时,就是告诉DW按设置的SELECT到真实的数据库检索符合条件的数据并载入到DW内存表中。
而Transaction (SQLCA) 就是PB中专有全局的事务连接对象,它负责DW数据窗口与数据库的通信与事务处理,DW数据窗口不会依赖某个transaction事务对象的,所以在上面你提供的代码中对于dw操作有 setTransobject(sqlca) 就是赋予DW一个有效的连接,好让DW知道与哪个数据库正确的连接维护操作,而SQLCA是PB中的全局transaction事务对象,你可以任何脚本中调用SQLCA因为它是全局的,如果应用窗口需要同时连接多个数据库,那么可以 Transaction newConn = Create Transaction 来使用,不过在相关的连接及断开命令要加上USING 比如, Connect using newconn; (记得最后加;号)
我这可是原创回答啊! 呵呵
祝你好运!