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

请大家一定帮帮我,我在csdn问了两个月了,都没人回我

楼主weiyulin(weidayed520)2006-03-04 05:43:47 在 VB / 基础类 提问

将Access数据库中的OLE字段中的文件保存到文件  
   
        将文件保存到ACCESS数据库的OLE字段  
   
   
   
  问题点数:0、回复次数:8Top

1 楼adminlhb(『MSN』)回复于 2006-03-04 08:18:26 得分 0

ADO方式打开Access表  
   
  定义一个二进制数组,用来读取OLE字段值  
   
  用二进制方式,生成一个文件  
   
  反过来也一样。Top

2 楼vbman2003(家人)回复于 2006-03-04 08:59:31 得分 0

用ADO的Stream对象  
  可以在这里的搜索中输入Stream,有许多相关讨论Top

3 楼weiyulin(weidayed520)回复于 2006-03-07 23:04:39 得分 0

我不想用ADO     请教是否还有其它方法Top

4 楼unsigned(僵哥(发站内消息,请附上链接或问题说明,否则不予回复))回复于 2006-03-07 23:44:20 得分 0

那使用DAO或者OLE也可以.Top

5 楼weiyulin(weidayed520)回复于 2006-03-08 14:14:21 得分 0

DAO   我也不想用啊       请救啊Top

6 楼xixilanqiu(西西球霸)回复于 2006-03-08 15:12:32 得分 0

那你想用什么咯...  
  大家都这样写的..  
  同意ado方式Top

7 楼weiyulin(weidayed520)回复于 2006-03-08 23:46:51 得分 0

我想用一个变量保存       数据库字段中的二进制数据     然后再保存Top

8 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-09 00:00:55 得分 0

不想用Stream对象,那就用1楼的方法:  
   
  Dim   cn   As   New   ADODB.Connection,rs   As   New   ADODB.Recordset  
  Private   Sub   Form_Load()  
          cn.CursorLocation   =   adUseClient  
          '这里给的是sql库的连接,具体的数据库连接请自己改过来,如果是Access库,只改数据库的连接即可  
          cn.Open   "Provider=SQLOLEDB.1;Password=;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Test;Data   Source=ljx"  
  End   Sub  
   
  Private   Sub   cmdSaveFile_Click()  
          saveFile   App.Path   &   "\temp.jpg"  
  End   Sub  
   
  Private   Sub   cmdReadFile_Click()  
          readFile   App.Path   &   "\temp1.jpg"  
  End   Sub  
   
  '保存文件到数据库  
  Private   Sub   saveFile(Byval   strFile   As   String)  
          Dim   tmp()   As   Byte  
          Dim   lngFile   As   Long  
          If   rs.State=adStateOpen   Then   rs.Close  
          rs.Open   "select   *   from   test   where   1<>1",   cn,   adOpenDynamic,   adLockOptimistic  
           
          lngFile   =   FreeFile  
          Open   strFile   For   Binary   As   #lngFile  
          ReDim   tmp(LOF(lngFile))  
          Get   #lngFile,   ,   tmp  
          Close   #lngFile  
          rs.AddNew  
          rs.Fields(0).Value   =   tmp  
          rs.Update  
  End   Sub  
   
  '读取数据库的文件,保存到硬盘  
  Private   Sub   readFile(Byval   strFile   As   String)  
          Dim   tmp()   As   Byte  
          If   rs.State=adStateOpen   Then   rs.Close  
          rs.Open   "select   *   from   test   ",   cn  
          ReDim   tmp(rs.Fields(0).ActualSize)                                           '返回2进制文件的字节长度  
          tmp   =   rs.Fields(0).Value  
          Open   strFile   For   Binary   As   #1  
          Put   #1,   ,   tmp  
          Close   #1  
  End   Sub  
   
  Private   Sub   Form_Unload(Cancel   As   Integer)  
          If   rs.State<>adStateClosed   Then   rs.Close  
          If   cn.State<>adStateClosed   Then   cn.Close  
          Set   rs   =   Nothing  
          Set   cn=Nothing  
  End   Sub  
  Top

相关问题

  • 两个月没来,CSDN是全变了样了,提个问,再散点分。
  • 两个月没来了,散点分吧.
  • 这个版有没有学linux超过两个月的?我问个简单问题,解决了加200分。
  • 公司两个月没发工资了,(10、11两个月),气愤中!你们公司发工资正常吗?
  • 痛苦哇!装了两个月都没装上vs.net,帮帮我.
  • 同一个表中,前后两个月数值差的问题。。
  • 参与csdn两个月,把分物归原主,并祝新年快乐!
  • 参与csdn两个月,把分物归原主,并祝新年快乐!
  • 参与csdn两个月,把分物归原主,并祝新年快乐!
  • 两个月的业余时间终于没白费,小挣8000,高兴散分!

关键词

  • 字段
  • 数据库
  • 二进制
  • 文件
  • ado
  • 连接
  • access
  • lngfile
  • 保存
  • rs

得分解答快速导航

  • 帖主:weiyulin

相关链接

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

广告也精彩

反馈

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