!!!!关于ole的问题(我将我全部的分拿出来了)(270分)

  • 主题发起人 主题发起人 cuker
  • 开始时间 开始时间
C

cuker

Unregistered / Unconfirmed
GUEST, unregistred user!
我正在使用ole做一个关于数据库的东西,ole(word.document)作为一个表的一个字段,
我要 1.用代码的将该表中的ole数据取出
2.用代码的方法将word中的数据存入数据库中.
请各位高手多多帮忙!!!!!!(代码越详细越好)
 
去检索已答问题吧?有详细答案。
 
我用的数据库是acess
 
以blob为关键字,查查以前的文章吧!
 
用TBlobField的loadfromfile,savetofile应该就可以搞定。
 
主要用到 Stream 操作,如下:
读 word 文档:
procedure TfmBlob.btnReadDocClick(Sender: TObject);
var
BStream: TBlobStream;
FStream: TFileStream;
begin
BStream := TBlobStream.Create(Table1Doc,bmRead);
FStream := TFileStream.Create('C:/' + Edit1.Text,fmCreate); //用edit 指定文件名
FStream.CopyFrom(BStream,BStream.Size);
BStream.Free;
FStream.Free;
OleContainer1.CreateObjectFromFile('C:/' + Edit1.Text,false)
end;
写 word 文件到 字段里:
procedure TfmBlob.btnSaveClick(Sender: TObject);
var
FStream: TFileStream;
BStream: TBlobStream;
begin
if not OpenDialog1.Execute then exit;
FStream := TFileStream.Create(OpenDialog1.FileName,fmOpenRead); //文件流
Table1.Edit;
BStream := TBlobStream.Create(Table1Doc,bmReadwrite);
with BStream do begin
Seek(0,soFromBeginning); //截断原来的流
Truncate;
CopyFrom(FStream,FStream.Size)
end;
Table1.Post;
BStream.Free;
FStream.Free;
end;
 
接受答案了.
 
后退
顶部