当前位置:首页 » 多媒体相关

access中怎样存储OLE对象???????急急急!!!!!!


有个文本文件data.txt(有点大)我想将她以ole对象的方式存入access中  
   
  请问怎样实现?(最好用odbc,有实现代码)  
   
  急啊!!  
   
  谢谢!!!(解决者重分相谢!!!)

推荐阅读

  • 中国网络股周三全面下跌 盛大股价大跌9.33% [详细内容]
  • Sun开放Java源代码 [详细内容]
  • 关于OT355是否支持真人铃声的问题 [详细内容]
  • 陈天桥:2年为盛大盒子 4.5亿美金只买内容 [详细内容]
  • IBM公司公开语音识别软件源代码 [详细内容]
  • 电子邮件收发的设置和关于数据线下载 [详细内容]
  • 陈天桥掏空钱包签了第一张游戏合同 [详细内容]
  • 网友回答:
    网友:abc_rain

    cdatabase   db;  
      //cstring   cconnect   =   "driver={microsoft   access   driver   (*.mdb)};dbq=c:\\projects\\samples\\usingblob_demo\\usingblob.mdb;uid=;   pwd=;";  
      cstring   cconnect   =   "driver={mysql   odbc   3.51   driver};server=myserv;database=mydatabase;user=me;   password=pass;option=2048;";  
      db.openex(cconnect,   cdatabase::noodbcdialog|cdatabase::usecursorlib);  
       
      codbcrecordset   rs(   &db   );  
       
      static   char   based_code   szfilter[]   =   "bitmap   files   (*.bmp)|*.bmp||";  
       
      cfiledialog   fd(true,null,null,0,szfilter,this);  
       
      if   (idok   !=   fd.domodal())  
      return;  
       
      try  
      {  
      rs.open(   "select   *   from   images"   );  
      //rs.movelast();  
      rs.addnew();  
       
      cfile   fileimage;  
      cfilestatus   filestatus;  
       
      fileimage.open(fd.getpathname(),   cfile::moderead);  
      fileimage.getstatus(filestatus);  
       
      rs("blobname")   =   fileimage.getfiletitle();  
       
      clongbinary*   lb   =   rs.getbinary("blobimage");  
      lb->m_dwdatalength   =   filestatus.m_size;  
       
      hglobal   hglobal   =   globalalloc(gptr,filestatus.m_size);  
      lb->m_hdata   =   globallock(hglobal);  
       
      fileimage.readhuge(lb->m_hdata,filestatus.m_size);  
       
      rs.setfielddirty(lb);  
      rs.setfieldnull(lb,false);  
      rs.update();  
       
      globalunlock(hglobal);  
       
      rs.close();  
      }  
      catch(cexception*   pe)  
      {  
      pe->reporterror();  
      pe->delete();  
      return;  
      }  
       
      codbcrecordset   可以到http://www.codeproject.com/database/odbcrecordset/odbcrecordset.zip下载  
       
     

    网友:dhyuser10

    gz

    网友:zyleon

    vc把一个文件存入数据库  
       
          cfile   imagefile;  
          if(0   ==   imagefile.open("d:\\user\\bmp.bmp",cfile::moderead))  
                return;  
          _recordsetptr   prs   =   null;                            
          _connectionptr   pconnection   =   null;  
          _variant_t   varchunk;  
          hresult   hr;  
          byte*   pbuf;  
          long   nlength   =   imagefile.getlength();  
          pbuf   =   new   byte[nlength+2];  
          if(pbuf   ==   null)  
                return;                                                           //allocate   memory   error;  
          imagefile.read(pbuf,nlength);                     //read   the   file   into   memory  
       
          byte   *pbufex;  
          pbufex   =   pbuf;  
          //build   a   safferray  
          safearray*   psa;  
          safearraybound   rgsabound[1];  
          rgsabound[0].llbound   =   0;  
          rgsabound[0].celements   =   nlength;  
          psa   =   safearraycreate(vt_ui1,   1,   rgsabound);  
       
          for   (long   i   =   0;   i   <   nlength;   i++)  
                    safearrayputelement   (psa,   &i,   pbufex++);  
          variant   varblob;  
          varblob.vt   =   vt_array   |   vt_ui1;  
          varblob.parray   =   psa;  
       
          _bstr_t   strcnn("provider=sqloledb.1;integrated   security=sspi;persist   security   info=false;initial   catalog=custom;data   source=server");        
              try  
              {  
                      //open   a   connection  
                      pconnection.createinstance(__uuidof(connection));  
                      hr   =   pconnection->open(strcnn,"","",null);       //connect   a   database  
                      prs.createinstance(__uuidof(recordset));  
                      prs->open("custominfo",_variant_t((idispatch   *)   pconnection,true),adopenkeyset,adlockoptimistic,adcmdtable);     //open   a   table  
         
      //             prs->addnew();                
                      prs->fields->getitem("image")->appendchunk(varblob);                
                      prs->update();  
                      prs->close();  
                      pconnection->close();  
        }  
              catch(_com_error   &e)  
              {  
                      //   notify   the   user   of   errors   if   any.  
                      _bstr_t   bstrsource(e.source());  
                      _bstr_t   bstrdescription(e.description());  
                      cstring   serror;  
                      serror.format("source   :   %s   \n   description   :   %s\n",(lpcstr)bstrsource,(lpcstr)bstrdescription);  
                      afxmessagebox(serror);          
        }  
       
     

    网友:woxihuanbohe

    以二进制方式读出你的东西不停的appendchunk到你的字段去就行乐!

    网友:hker_007

    可以将x,y存入文件如:save.txt  
      再将save.txt存入数据库  
      clongbinary

    .

    讨论区

    Login