开发者社区> 非常老帅> 正文

OleContainer操作Excel以二进制方式读写数据库

简介: 需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTable)var  vStream: TMemoryStream;begin try   try    vStream := TMemoryStream.
+关注继续查看

需求源头:
OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取
存入流:
Procedure SaveToStream(ADOTable1: TAdoTable)
var
  vStream: TMemoryStream;
begin
 try
   try
    vStream := TMemoryStream.Create;
    vStream.Clear;
    OleContainer1.SaveToStream(vStream);
    vStream.Position := 0;
    ADOTable1.Append;
    TBlobField(ADOTable1.FieldByName("BlobField")).LoadFromStream(vStream);
    ADOTable1.Post; 
   finally
      FreeAndNil(vStream);
   end;
  except
    exit;
  end;
end;
读取流:
procedure LoadFromStream(ADOTable1: TAdoTable)
var
  //注意:这里要用TADOBlobStream,如果用TMemoryStream等流类,则会出现错误 
  //OleContainer的二进制流格式和Access的二进制流格式不同
  //TADOBlobStream是专门用来Access的流转化的,TADOBlobStream继承自TMemoryStream
  vStream: TADOBlobStream;
begin
  try   
    vStream := TADOBlobStream.Create(TBlobField(ADOTable1.FieldByName("BlobField")), bmread);
    if (OleContainer1.State = osOpen) or (OleContainer1.State = osUIActive) then
    begin
      OleContainer1.DestroyObject;
    end;
    vStream.Position := 0;
    Olecontainer1.LoadFromStream(vStream);
  except
  end;
end;
问题总结:
注意流格式的问题。
注:附件里有我的一个小工具,用来帮助自己平时操作Excel在Access中的读取。http://www.delphibbs.com/keylife/iblog_show.asp?xid=21941

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库——多种方法导入Excel数据
数据库——多种方法导入Excel数据
220 0
MySQL---数据库从入门走向大神系列(九)-用Java向数据库读写大文本/二进制文件数据
MySQL---数据库从入门走向大神系列(九)-用Java向数据库读写大文本/二进制文件数据
134 0
将excel文件内容存储到数据库,并可以实时在前端查看(不必生成文件)
版权声明:本文为博主原创文章,未经博主允许不得转载 本文主要讲前端内容,后端涉及较少,可以认为是使用Java。 首先是excel文件上传,这个较为简单,可以html5的数据接口FormData()进行操作。
1220 0
数据库读图片
引用:http://www.android-study.com/jichuzhishi/284.html 做项目过程中遇到一个问题,从数据库里读取图片名称,然后调用图片。直接用R.drawable.?无法调用。
502 0
在数据库中存取文件
在数据库中存取文件 http://www.51cto.com  2005-11-24 09:16  作者:  出处:pconline 本文介绍如何利用ADO来操作数据库中的文件。'************************************************* '** '** 使用 ADODB.
746 0
+关注
非常老帅
IT行业从业10+年
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里云数据库案例集下载
立即下载
HBase2.0重新定义小对象实时存取
立即下载
大批量处理excel文件到ODPS中方案
立即下载