转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
在Power Builder4.0的数据窗口中OLE的实现方法         ★★★★

在Power Builder4.0的数据窗口中OLE的实现方法

作者:闵涛 文章来源:闵涛的学习笔记 点击数:653 更新时间:2009/4/22 23:09:15

OLE(Object linking and Embedding),即对象连接与嵌入简称,是在Windows环境下实现不同Windows实用程序之间共享数据和程序功能的一种方法。在Power Builder的应用中实现OLE,则Power Builder作为OLE Container,在其中调用OLE Server,利用OLE Server提供的功能来显示和操纵OLE对象。

  Power Builder的数据窗口(DataWindow)支持OLE2.0。在其中可建立Blob(Binary Large Object二进制大型对象)或image类型的字段,这种字段的数据为一OLE对象。由于数据窗口支持OLE 2.0,因此在使用时你需要保证你要用到的OLE Server也要支持OLE2.0对象。用户或程序可以激活该OLE字段,并且可以向LE Server发送简单的命令,在Power Builder的数据窗口中,你可以建立OLE字段。一个OLE字段可以完成如下功能:

  1. 在数据库中存储OLE对象,比如Excel电子表格或Word for Windows的文本文件。
  2. 把OLE对象从数据库中提取到数据窗口。
  3. 使用OLE Server,比如Excel或Word for Windows来修改数据。
  4. 将修改过的数据存入数据库。

  本文将结合一个例子解释如何完成上述功能。在数据库中,建一个表中,该表有一个image 类型的字段,用于存放Windows Paintbrush编辑的bmp图,Power Builder可在数据窗口中提取该表的记录,并把image字段中的bmp图显示在窗口中,然后通过在数据窗中双点(Double Click)该图,自动打开Paintbrush并调出bmp图,用户可对它进行一些修改和保存修改结果。

  具体实现步骤如下:

一、建立OLE字段

  在本例中我们就建立一个表Paint,内含2个字段,一个字段名为ID,另一个字段名称作File。进入Power Builer的Database画笔来建此表。ID字段取type为integer,不许为空;File字段type为Image,可为空,并选ID为主键。注:File字段的数据类型即为所谓Blob类型,但不同DBMS中取的名字不同,如watcom SQL称为long birary,而SQL Server为Image或Text。

二、设置 Autocommit

  在使用SYBASE SQL Server数据库时,含有OLE字段的DataWindow所使用的Transaction Object(事务对象)中的AutoCommit项必须置为TRUE,在设计DataWindow前,可通过Preference画笔,选择Database图标,将其中的Autocommit项赋值为1。

三、设计数据窗口

  在DataWindow画笔中打开建好的Paint表,但此时只选择ID字段进行显示,而先不要选择file字段(我们将在设计窗口中再添加此字段)。DataWindow的设计窗口,从Objects菜单中选择OLE Database Blob项,然后在设计窗口中适当位置点鼠标左键,此时Database Birary/Text Large Object 对话窗显示出来。逐项填写对话窗:

  在Name项,填入适当名字,此项可选,但起了名字后,可使你在程序中引用。

在Client Class中填入DataWindow,可选。
在Client Name中填入当前DataWindow的名字,可选。
在Table中选择Paint表 。
在Large Binary/Text Columns中,选择file字段 。
在Key Clause中,选id=:id,该项用于构造where子句,即where id=:id,用于定位相应记录。
在File template中,填入一个bmp文件名,或通过Browse键来查找一个文件,比如我们选择arcade.bmp。
在OLE Class,Description (Only Class is Used)中,通过下拉菜单选择Paintbrush。
在Client Name Expression:中,填入某一字符串表达式,该表达式将在OLE Server运行时,显示在其Title处,如填入".BMP File"+String(id) 
按OK键 。

  此时,Power Builder关闭该对话窗,并回到DataWindow的设计窗口,OLE字段以一个小方框的形式显示出来。般情况当你运行该DataWindow时,上述小方框不显示出来。因此,为了识别该OLE字段在DataWindow中的位置,我们可以在该小方框后摆放一个可以识的东西,如一个椭圆等等,因此在DataWindow显示时,我们只要双点该椭圆,即可激活OLE Server。

四、预浏览(Preview)OLE对象

  在DataWindow的设计窗口下,点按Preveiw图标,然后点按Insert图标,在Paint表中添加一行,填入id,然后双点椭圆,此时Paintbrush被激活。同时打开arcade.bmp,做一些修改,然后从Paintbrush的File菜单中选择Update项,来更新你的修改,此时OLE Server将你的修改信息送回DataWindow,然后通过选择File菜单中的Close项关闭Paintbrush并回到DataWindow,此时在你的DataWindow中OLE字段所在处显示出了Paintbrush所画的图标。按Upd DB图标,将OLE数据存入数据库中以后,当你 库中查出Paint表中的记录时,你可以通过双点OLE对象来操作它,方法同上。


[SyBase]在Power Builder中读写SYBASE的Image数据  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台