动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   程序开发 → 阅读文章

 在PB中用OLE存取blob类型数据

作者来源: 
阅读 数 246 人次 , 2006-4-26 11:22:00 

  前言:在数据库的开发过程中,经常需要在数据库中存储一些备注信息,而这些备注信息的内容一般较大,格式多样-如有可能是语音文件、视频文件、图片文件、文本文件等,怎样在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 设置对象 

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:PowerBuilder应用开发系列讲座(4)
· 下一篇:在PB中使用VC++编制的DLL
· 软件架构训练基础教程之层次及使用
· 软件配置管理最佳实践
· Palm OS软件界面设计初步
· 用UML描述工作流管理
· Windows下黑客编程基础


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077