选择显示字体大小

在pb中用ole存取blob类型数据

 前言:在数据库的开发过程中,经常需要在数据库中存储一些备注信息,而这些备注信息的内容一般较大,格式多样-如有可能是语音文件、视频文件、图片文件、文本文件等,怎样在pb中实现这些格式不同的备注文件的存取及预览,一直是pb开发人员比较关心的一个问题,本文系统的介绍了三种存取备注二进制信息的方法。   对备注二进制信息的存储可以采用以下三种方式;

  方法一:文件保存在固定的路径下,数据库中存取文件路径和名称

  方法二:数据库中用blob类型或者varbinary类型字段存储备注文件

  方法三:在本地用ole存储结构存储备注文件

1、ole的基本概念

ole是object linking embedding(对象链结与嵌入)的缩写,它可以使windows应用程序共享数据和程序。

2、ole控件

  在pb中ole控件是一个ole对象的包容器,可以使用服务器应用程序提供的功能和命令来编辑对象,也可以使用自动化ole交互,在程序中激活对象和向服务器应用程序发送命令;在pb 的window画板中的ole控件允许用户从多个应用程序嵌入和链结组件

  2.1建立和设置ole控件

  从window画板中选择ole控件插入window。

  当建立一个ole控件并且插入一个对象时,pb将激活服务器应用程序以允许对对象进行编辑和修改;在使ole中的对象称为非活动状态后,可以使用控件属性选项卡来设置控件的属性。

  2.2 激活修改window画板中的ole对象

  在ole控件的弹出菜单中选择open可以激活画板中ole对象

  使用服务器应用程序修改ole对象

  结束修改:使对象恢复为非活动状态,只要单击服务器应用对象之外的任何区域即可,也可以直接关闭服务器应用程序的窗口。

  2.3 嵌入和链结ole控件

  可以将ole对象嵌入或者链结到自己的应用程序中。嵌入对象的数据放在应用程序中,在开发过程中这些数据放在应用程序的pbl库中,当生成应用后,这些数据将存放在exe或pbd文件中,虽然在程序的运行过程中可以修改,但修改的数据不会保存;链结对象的数据存放在pb应用程序以外,当链结一个对象时,在pb应用程序中不存放数据文件,而是存放引用数据的指针, 使用链结的数据,对数据的管理和保存都由服务器应用程序负责。这样可以用服务器应用程序修改处理数据,处理后的数据可以保存回原文件中。链结方式应用于需要多个应用程序共享的数据文件,任何一个应用程序修改了数据文件,都将影响到所有链结该文件的应用程序。

  2.4 ole控件的激活方式

  ole控件的激活方式有offsite和in-place两种激活方式,offsite激活方式是指在pb应用程序的界面以外单独打开ole对象,in-place激活方式是指pb应用程序的界面的原位置打开ole对象。在数据窗口中的dbole默认的是offsite激活方式,而window中的ole默认的激活方式是in-place。

  在pb应用程序中可以用命令

  ole_control.active(offsite) 或者ole_control.active(in-place)设置ole对象的以何种方式打开。

  2.5 设置和插入ole对象

  在程序运行时可以用函数:

  ole_control.insertfile(soucefile) 插入对象

  ole_control.objectdata = blobvar 设置对象

3、ole存储

  3.1 ole存储(olestorage)的概念

  ole存储(olestorage)是ole数据的一个仓库,存储就象磁盘上的目录结构,它可以是一个ole对象,也可以包含在ole对象中,每个对象都包含在ole存储或者存储内的子存储内。保存在ole存储中数据称作ole流(ole stream),ole流同ole对象的关系就象文件同目录的关系。含有ole对象的存储或子存储可以看做是属于特殊服务器的信息,在该层次之下的各部分都可以被相应的服务器程序操作。ole存储对象是类用户对象,可以说明相应类型的变量,建立与之相应的实例和打开存储等,在使用完存储后需要关闭存储、释放分配的内存。

  3.2 ole存储的打开和保存

  ole存储可以用open函数打开,open函数的格式为:

  olecontrol.open(olesourcefile),

  此函数在olesourcefile不存在时,自动创建该文件,所以创建ole文件也用该函数; ole存储可以用save函数保存,save函数的格式为:

  olecontrol.save() // 保存ole控件


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons