我们可以利用OleContainer来打开保存数据,特别是保存Word文件,但是大部分的情况下,用Word的话,需要生成临时文件,然后载入,这样在性能方面有很大的影响!那么有没有可能不用临时文件而把Word文档保存到数据库中呢?可以,利用流就可以了!
将BLob字段中的内容取出, 在OleContainer中显示。
Var
OleStream : TMemoryStream;
begin
// OleContainer1
OleStream := TMemoryStream.Create;
try
(Table1.FieldByName('Text') as TBlobField).SaveToStream(OleStream);
OleStream.Position := 0;
OleContainer1.LoadFromStream(OleStream);
OleContainer1.DoVerb(1); //显示
finally
OleStream.Free;
end;
end;