把TOleContainter中Word文件以流方式保存到数据库的image字段中,再从数据库的image字段中读出,使其显示在TOleContainter中的

  • 主题发起人 主题发起人 于小澜
  • 开始时间 开始时间

于小澜

Unregistered / Unconfirmed
GUEST, unregistred user!
把TOleContainter中Word文件以流方式保存到数据库的image字段中,再从数据库的image字段中读出,使其显示在TOleContainter中的Word里,如何实现?(旧贴中的问题)(68分)<br />这个问题我已经看过前面的帖子了,我在用了PiPi的代
码出现了"Invalid stream format"的错误提示!
PiPi的代码:

用blob字段(f4为例子)

保存:

var
str:TMemoryStream;
begin
str:=TMemoryStream.Create();
table1.edit;
OleContainer1.SaveToStream(str);
TBlobField(table1.fieldbyname('f4')).LoadFromStream(str);
table1.Post;
str.Free;
end;

装入:

var
str:TBlobStream;
begin
str:=TBlobStream.Create(TBlobField(table1.fieldbyname('f4')),bmRead);
OleContainer1.LoadfromStream(str);
str.Free;
end;

我的环境:Delphi 5 + SQL Server 7
通过ado访问数据库
其中的blob字段是image类型。
该代码在保存时不出错,装入时报错。
请各位富翁指点一下,看我的用法是否有误,谢谢!
 
blobstream与普通流不同吧,给你个方法你试试。
还是定义一个memorystream,然后用table.createblobstream(fieldname,bmread)装入。
 
程序有误,stream.position:=0,如:
table1.edit;
OleContainer1.SaveToStream(str);
str.position:=0; //stream.position:=0
TBlobField(table1.fieldbyname('f4')).LoadFromStream(str);
table1.Post;
str.Free;
那分来
 
wangxd:
还是问题提示无效的流格式。
请请各位富翁不吝赐教,尽快!
 
我的方法你试了吗?
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部