- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学课件_数据窗口控件
第7章 数据窗口控件 本章主要内容 7.1 数据窗口控件 7.2 数据窗口控件属性 7.3 数据窗口控件事务对象 7.4 数据窗口控件的函数 7.5 数据窗口控件的事件 7.6 数据窗口编程 7.7 数据窗口编程实例 7.1 数据窗口控件 创建数据窗口控件 与数据窗口对象的关联: DataObject栏右边的“…”按钮,选择一个数据窗口对象。 与数据窗口对象的动态关联: 通过给数据窗口控件的DataObject属性赋值实现的。dw_1. DataObject =d_another“ 每当在应用程序中修改了DataObject属性后,还需要依次重新执行数据窗口控件的对象函数SetTransObject()和Retrieve()。 7.2 数据窗口控件属性 数据窗口控件也有一组属性,通过设置这组属性,可以决定数据窗口控件的外观和行为。 比如,数据窗口控件是否带有标题栏,是否带有水平和垂直滚动条,若带有标题栏,那么标题栏上是否带有极小化、极大化和关闭按钮、是否带有控制选单,以及运行时是否允许用户改变数据窗口的大小等。 7.3 数据窗口控件事务对象 定义数据窗口对象时,如果选择了从数据库中提取数据的数据源,那么在数据窗口控件能够检索数据之前,需要做两个工作: 指定事务对象并与数据库连接 为数据窗口控件分配事务对象。 7.3 数据窗口控件事务对象 什么是事务对象? 事务对象(Transaction Object)是一个不可见的对象,它包含了与数据库连接的相关属性参数。在数据窗口的实现过程中,与数据库中数据的连接是依靠定义事务对象的参数来完成的。 sqlca 7.3 数据窗口控件事务对象 7.3 数据窗口控件事务对象(续) 应用程序与数据库的连接通过事务对象来完成,如何连接? 首先给事务对象的相关属性赋值 然后用嵌入式SQL语句CONNECT建立连接 举例: 7.3 数据窗口控件事务对象(续) 先说明一个类型为Transaction的事务对象变量,然后用CREATE语句创建事务对象实例: Transaction mytransact = CREATE transaction 用CREATE语句创建的事务对象不再使用时,应该用DESTROY语句删除该对象,以节省系统资源。 例如:DESTROY mytransact; 某个数据库连接不再使用时,应该及时地使用DISCONNECT语句断开与数据库的连接 例如:DISCONNECT USING SQLCA; 7.3 数据窗口控件事务对象(续) 如何为数据窗口控件指定事务对象,使数据窗口控件明确使用哪一个事务对象同数据库进行交互? Powerbuilder提供了两个函数 SetTransObject SetTrans 7.3 数据窗口控件事务对象(续) 调用格式:dwcontrol.SetTransObject(transaction) 其中:dwcontrol为数据窗口控件的名称 transaction为默认的或用户定义的事务对象。 返回值:1—成功;-1—失败。 举例:在完成了数据库的连接之后,如果在某个窗口中有个数据窗口控件dw_1,可以在窗口打开的open事件中,添加如下代码: dw_1.SetTransObject(SQLCA) 7.3 数据窗口控件事务对象(续) 调用格式:dwcontrol.SetTrans(transaction) 不同点是SetTrans使用内部事务对象,用户不必首先进行数据库的连接,而是每进行一次数据库操作,都会自动产生一个数据库的连接,并在操作结束时自动断开与数据库的连接。 如果应用程序对数据库操作频繁,SetTrans需要花费的资源比较多,效率比较低。使用SetTrans函数可以增加用户连接成功的机会。 7.4 数据窗口控件的函数 7.4 数据窗口控件的函数 7.4 数据窗口控件的函数 7.4 数据窗口控件的函数 7.4 数据窗口控件的函数 主缓冲区(Primary Buffer) 删除缓冲区(Delete Buffer) 过滤缓冲区(Filter Buffer) 原始缓冲区(Original Buffer) 7.4 数据窗口控件的函数 当使用数据窗口控件的Retrieve()函数从数据库中提取数据后,数据被存入了数据窗口的主缓冲区中 当插入数据时,插入的数据也存放在主缓冲区。 用户在向数据窗口中输入数据时,并没有直接把数据输入到数据窗口的主缓冲区中,而是把数据输入到悬浮在数据窗口当前单元上面的编辑控件中。当用户移动了输入焦点或代码中使用AcceptText()函数操作之后,系统验证输入数据的有效性后被放置到数据窗口控件的主缓冲区中 7.4 数据窗
文档评论(0)