关于tblobfield的的读写问题(100分)

  • 主题发起人 主题发起人 chinese roc fen
  • 开始时间 开始时间
C

chinese roc fen

Unregistered / Unconfirmed
GUEST, unregistred user!
我用论坛上pipi大虾提供的方法将word文档输入数据库的时候,当使用
tblobfield(table1.fieldbyname('试题')).loadfromstream(ss);
的时候不知道为什么这条语句根本无效,ss是我定义的一个流,我把一个
olecontainer中的对象通过ss读如另外一个olecontainer时候是很正常的
,这说明不是ss的问题,但我就是想不通,因为我的水平实在是太低了,请哪位
大虾出手相救,我不胜感激,您的回答请放到论坛上!
 
请提供一些详细点的信息,你现在的条件无法判断
 
在Load前将ss.position设为流开始处=0试一下
 
你的ss是MemoryStream吗?
TEST:
try
TempStream:=TmemoryStream.Create;
TempStream.Clear;
OleContainer.SaveToStream(TempStream);
TempStream.Seek(0,sofromBeginning);
(OleField as TBlobField).LoadFromStream(TempStream);
finally
TempStream.Free;
end;
 
使用BlobStream时,先创建。


MemoryStream.LoadFromFile('试题');

DateSet.Edit;

BlobStream:=DateSet.CreateBlobStream(DateSet.FieldByName('??'),
bmReadWrite);

MemoryStream.SaveToStream(BlobStream);

 
>>OopsWare
BlobStream:=DateSet.CreateBlobStream(DateSet.FieldByName('??'),
bmReadWrite);

出现stream 的类不同,为什么?
 
DataSet.CreateBlobStream 返回的是一个 TBlobStream 对象,而你的 BlobStream 变量
肯定不是一个 TBlobStream,查一下你的定义。
 
是什么流?注意不要用TStream,那是一个虚类,应当用它的派生类。如:TMemoryStream
 
多人接受答案了。
 
后退
顶部