翰文个人计算机学习网
  • 翰文快讯
  • 翰文PC快讯
  • 综合软件区
  • 操作系统
  • 注册表解析
  • Windows系列
  • Unix/Linux
  • 其他系统
  • 应用软件
  • 微软MS Office
  • WPS Office
  • 多媒体软件
  • 图像处理
  • Photoshop
  • Painter
  • Illustrator
  • CorelDRAW
  • 三维空间
  • AutoCAD
  • 3DMAX
  • 3DMAYA
  • 硬件资源
  • 攒机指南
  • 硬件超频
  • 维修指南
  • 网络资源
  • 在线通讯
  • 网上冲浪
  • 浏览器中心
  • 网络故障解析
  • 病毒资料
  • 病毒通报
  • 病毒防治
  • 病毒常识
  • 黑客技巧
  • SQL/MySQL
  • Oracle
  • Delphi
  • 编程资源
  •  C/C#/C++/VC++/VC.NET
  •  Basic/VB/VB.NET/VBScript
  •  FoxBasic/FoxPro/VF/VF.NET
  •  Java/JavaScript
  • PowerBuilder
  • 热门词:
  • 翰文计算机学习网首页
  • >
  • PowerBuilder
  • >
  • 在PB中用OLE存取blob类型数据
  • 在PB中用OLE存取blob类型数据

  • 资源来源:
  • HW-PCS.ORG
  • 资源作者:
  • 翰文计算机学习网
  • 人气指数:
  • [4918]
  •   前言:在数据库的开发过程中,经常需要在数据库中存储一些备注信息,而这些备注信息的内容一般较大,格式多样-如有可能是语音文件、视频文件、图片文件、文本文件等,怎样在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控件

      OLEstorage.save() //保存OLE存储

      4、处理blob类型数据

       对于大二进制数据,在PB Script中是用blob数据类型表示并加以处理。标准SQL语句中的select、insert和update语句无法直接查询blob类型的数据,在PB中操作blob类型的数据只能用专用的语句,从数据库中查询blob类型的数据的命令是:

       selectblob restofselectstatement {using transactionobject};

       更新数据库中blob类型数据的格式是:

       updateblob tablename

       set blobcolumn = blobvarible  

       restofupatestatement {using transctionobject};

       如连接的数据库是sybase或者Sql,则selectblob和updateblob语句要求数据库的自动提交方式为true,所以在在每次调用selectblob和updateblob语句以前必须用命令 Sqlca.autocommit=true,把数据库的自动提交方式设置为true,在updateblob语句的结束后,再用命令Sqlca.autocommit = false,把自动提交方式设置为false。 索数据的参数(如flag),然后在可修改列的Protect后的框中输入(user_name是该DataWindow中的一列,代表者的名称)。

    感谢您对翰文计算机学习网的支持

  • 上一条:暂无资讯
  • 下一条GSSY流程图
  • 关于我们
  • 联系方式
  • 成功案例
  • 技术报价
  • RSS索引
  • 网站地图
  • 翰文电脑学习网
  • MSN:LNDDYGYC9@HOTMAIL.COM Powered by 翰文个人计算机学习网 版权所有,未经允许不得转载
    ICP备案号码:[沪ICP备12020678号] Copyright 2008-2020 HW-PCS.ORG, All Rights Reserved.