CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

OLE对象如何使用

楼主chuting(学习的动力)2004-05-04 13:40:41 在 VB / 基础类 提问

在数据库中设置了一个字段为ole对象类型,  
  如何存储和打开查看ole对象,  
  在窗体中要求可添加和查看。  
   
  急!!! 问题点数:50、回复次数:15Top

1 楼chuting(学习的动力)回复于 2004-05-04 14:34:12 得分 0

有人吗Top

2 楼yoyofish(给我个方向)回复于 2004-05-04 14:54:33 得分 10

数据库用的是什么数据库?有ole对象类型?  
   
  ole我倒是知道一点Top

3 楼mxfeng(老子说:善战者不怒)回复于 2004-05-04 16:51:44 得分 0

学习Top

4 楼kmzs(.:RNPA:.山水岿濛)回复于 2004-05-04 17:30:39 得分 0

可能吗?Top

5 楼chuting(学习的动力)回复于 2004-05-05 09:03:22 得分 0

access数据库啊,控件里也有ole对象啊Top

6 楼chuting(学习的动力)回复于 2004-05-05 12:01:42 得分 0

???Top

7 楼chuting(学习的动力)回复于 2004-05-07 14:34:13 得分 0

大家都在放假???Top

8 楼swans(swan.net)回复于 2004-05-07 15:25:49 得分 2

ACCESS中ole对象字段实际是保存二进制数据的字段类型,  
  保存的数据可以释放为文件,或者读取后作为二进制流进行处理。Top

9 楼yoyofish(给我个方向)回复于 2004-05-07 17:18:04 得分 5

http://support.microsoft.com/default.aspx?scid=kb;en-us;205635&Product=vbb  
   
  楼主看看吧  
  先拉出个ole控件和data控件  
  把ole和data控件绑定  
  通过data的recordset来进行添加删除修改存储等等Top

10 楼chuting(学习的动力)回复于 2004-05-09 09:34:16 得分 0

能给个例子吗,多谢!Top

11 楼cslf(cs)回复于 2004-05-09 10:44:56 得分 5

操作OLE数据提示:  
  rs.appendchunk  
  rs.getchunkTop

12 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2004-05-09 11:23:49 得分 13

以下代码操作ole字段:  
  '存储文件到数据库  
  Public   Function   WriteToDB(ByRef   col   As   ADODB.Field,   ByVal   FileName   As   String)   As   Boolean  
  On   Error   GoTo   ErrMsg  
          Dim   mStream   As   ADODB.Stream  
          Set   mStream   =   New   ADODB.Stream  
           
          WriteToDB   =   False  
          mStream.Type   =   adTypeBinary  
          mStream.Open  
          mStream.LoadFromFile   FileName  
          col.Value   =   mStream.Read  
           
          mStream.Close  
          Set   mStream   =   Nothing  
          WriteToDB   =   True  
          Exit   Function  
  ErrMsg:  
          MsgBox   "存储文件到数据库时出现错误."   &   vbCrLf   &   Err.Description,   vbExclamation   +   vbOKOnly,   "提示"  
  End   Function  
   
  '设置临时文件(用于把ole字段读到一个文件里面,如果是图片,便可加载到图片框里面)  
  Public   Function   ReadDB(col   As   ADODB.Field,   ByRef   imgFile   As   String)   As   Boolean  
  On   Error   GoTo   ErrRead  
          Dim   mStream   As   New   ADODB.Stream  
          ReadDB   =   False  
           
          If   col.ActualSize   <   200   Then   Exit   Function  
           
          mStream.Type   =   adTypeBinary  
          mStream.Open  
          mStream.Write   col.Value  
          mStream.SaveToFile   imgFile,   adSaveCreateOverWrite  
          ReadDB   =   True  
          Exit   Function  
  ErrRead:  
            MsgBox   "设置临时文件时出现错误:"   &   vbCrLf   &   Err.Description,   vbInformation,   "提示"  
            ReadDB   =   False  
  End   Function  
   
   
  WriteToDB的使用示例:  
          .....  
          '把图片写入到数据库  
          strSQL   =   "select   *   from   "   &   strTable   _  
                          &   "   where   BBID='"   &   strBBID   &   "'"   _  
                          &   "   and   ReportIndex="   &   objControl.Index   _  
                          &   "   and   ReportType="   &   WPhoto  
          Set   rsTemp   =   New   ADODB.Recordset  
          rsTemp.Open   strSQL,   GCon,   adOpenDynamic,   adLockOptimistic  
          WriteToDB   rsTemp("ReportPhoto"),   mstrTempFile  
          rsTemp.Update  
          rsTemp.Close  
  Top

13 楼kissoflife(明月高楼休独倚,酒入愁肠,化作相思泪!)回复于 2004-05-09 11:28:33 得分 15

ReadDB使用示例:  
          ...  
          '检查是否有图片  
          If   Not   (IsNull(rsReport("ReportPhoto")))   Then  
                  If   Dir(mstrTempFile)   <>   ""   Then   Kill   mstrTempFile  
                  ReadDB   rsReport("ReportPhoto"),   mstrTempFile  
                  Set   Picture1.Picture   =   LoadPicture(mstrTempFile)  
          End   If  
  Top

14 楼ryuginka(一米八五的猪)回复于 2004-05-09 11:38:55 得分 0

upTop

15 楼chuting(学习的动力)回复于 2004-05-09 12:51:26 得分 0

Data1     Database   Name     C:\TEMP\db1.mdb    
  Data1     RecordSource       MyOLETest    
  OLE1       DataSource           Data1    
  OLE1       DataField             Picture    
   
   
   
  Private   Sub   Command1_Click()  
  Data1.Recordset.AddNew  
  OLE1.CreateEmbed   "C:\Windows\Pinstripe.bmp"  
  '   Assume   the   bitmap   file   is   located   at   C:\Windows\   folder.  
  Data1.Recordset.Update  
  Data1.Recordset.MoveLast  
  End   Sub  
   
   
  如果是EXCEL图表或WORDTop

相关问题

  • 使用olecontainer时,如何在运行时指定 OLE对象?
  • 如何使用CEvent对象!
  • 如何使用ADO.STREAM对象?
  • 如何使用FileSystemObject对象
  • Jsp 如何使用 Access数据库中的 OLE大对象,OLE大对象最大存储值是多大?
  • C++ Builder中如何使用TBitmap对象?
  • 如何使用对象实例化
  • 不重载,如何使用CRecordset对象?
  • 请问如何使用session对象?
  • 如何在模块中使用对象?

关键词

  • 字段
  • 数据库
  • 控件
  • 文件
  • 数据
  • mstream
  • ole
  • mstrtempfile
  • writetodb
  • 对象

得分解答快速导航

  • 帖主:chuting
  • yoyofish
  • swans
  • yoyofish
  • cslf
  • kissoflife
  • kissoflife

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo