欢迎来到天天文库
浏览记录
ID:42597842
大小:35.50 KB
页数:4页
时间:2019-09-18
《在PowerBuilder4.0的数据窗口中OLE的实现方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在PowerBuilder4.0的数据窗口中OLE的实现方法OLE(ObjectlinkingandEmbedding),即对象连接与嵌入简称,是在Windows环境下实现不同Windows实用程序之间共享数据和程序功能的一种方法。在PowerBuilder的应用中实现OLE,则PowerBuilder作为OLEContainer,在其中调用OLEServer,利用OLEServer提供的功能来显示和操纵OLE对象。 PowerBuilder的数据窗口(DataWindow)支持OLE2.0。在其中可建立Blob(BinaryLargeObject
2、二进制大型对象)或image类型的字段,这种字段的数据为一OLE对象。由于数据窗口支持OLE2.0,因此在使用时你需要保证你要用到的OLEServer也要支持OLE2.0对象。用户或程序可以激活该OLE字段,并且可以向LEServer发送简单的命令,在PowerBuilder的数据窗口中,你可以建立OLE字段。一个OLE字段可以完成如下功能:在数据库中存储OLE对象,比如Excel电子表格或WordforWindows的文本文件。把OLE对象从数据库中提取到数据窗口。使用OLEServer,比如Excel或WordforWindows来修改数据。将修
3、改过的数据存入数据库。 本文将结合一个例子解释如何完成上述功能。在数据库中,建一个表中,该表有一个image类型的字段,用于存放WindowsPaintbrush编辑的bmp图,PowerBuilder可在数据窗口中提取该表的记录,并把image字段中的bmp图显示在窗口中,然后通过在数据窗中双点(DoubleClick)该图,自动打开Paintbrush并调出bmp图,用户可对它进行一些修改和保存修改结果。 具体实现步骤如下:一、建立OLE字段 在本例中我们就建立一个表Paint,内含2个字段,一个字段名为ID,另一个字段名称作File。进入
4、PowerBuiler的Database画笔来建此表。ID字段取type为integer,不许为空;File字段type为Image,可为空,并选ID为主键。注:File字段的数据类型即为所谓Blob类型,但不同DBMS中取的名字不同,如watcomSQL称为longbirary,而SQLServer为Image或Text。二、设置Autocommit 在使用SYBASESQLServer数据库时,含有OLE字段的DataWindow所使用的TransactionObject(事务对象)中的AutoCommit项必须置为TRUE,在设计DataWi
5、ndow前,可通过Preference画笔,选择Database图标,将其中的Autocommit项赋值为1。三、设计数据窗口 在DataWindow画笔中打开建好的Paint表,但此时只选择ID字段进行显示,而先不要选择file字段(我们将在设计窗口中再添加此字段)。DataWindow的设计窗口,从Objects菜单中选择OLEDatabaseBlob项,然后在设计窗口中适当位置点鼠标左键,此时DatabaseBirary/TextLargeObject对话窗显示出来。逐项填写对话窗: 在Name项,填入适当名字,此项可选,但起了名字后,可使
6、你在程序中引用。在ClientClass中填入DataWindow,可选。在ClientName中填入当前DataWindow的名字,可选。在Table中选择Paint表。在LargeBinary/TextColumns中,选择file字段。在KeyClause中,选id=:id,该项用于构造where子句,即whereid=:id,用于定位相应记录。在Filetemplate中,填入一个bmp文件名,或通过Browse键来查找一个文件,比如我们选择arcade.bmp。在OLEClass,Description(OnlyClassisUsed)中,
7、通过下拉菜单选择Paintbrush。在ClientNameExpression:中,填入某一字符串表达式,该表达式将在OLEServer运行时,显示在其Title处,如填入".BMPFile"+String(id)按OK键。 此时,PowerBuilder关闭该对话窗,并回到DataWindow的设计窗口,OLE字段以一个小方框的形式显示出来。般情况当你运行该DataWindow时,上述小方框不显示出来。因此,为了识别该OLE字段在DataWindow中的位置,我们可以在该小方框后摆放一个可以识的东西,如一个椭圆等等,因此在DataWindow显
8、示时,我们只要双点该椭圆,即可激活OLEServer。四、预浏览(Preview)OLE对象 在DataW
此文档下载收益归作者所有