将WORD文档以TFileStream写入数据库BOLE字段中,为会什么读出以后用OleContainer打开出错.'不正确的流格式' 下面是源码!请高手指点!
写入....
FNowOpenFileName:string;
lStream: TFileStream;
begin
FNowOpenFileName:=DfileName+'.doc';
lStream := TFileStream.Create(FNowOpenFileName, fmOpenReadWrite);
WriteSplitFieldCnt ('TABLE_GSZHXXT','GUID','XH','NR'[lKeyValues],lStream);
lStream.free;
其中WriteSplitFieldCnt 是将数据写入数据库的函数.
读出.....
FNowOpenFileName:=DFileName+expName;
try
lStream := TFileStream.create(FNowOpenFileName,fmCreate);
pp:=ReadSplitFieldCnt('TABLE_GSZHXXT', 'GUID', 'XH', 'NR', [lKeyValues], lStream);
finally
lStream.free;
end;
if pp then OleContainer1.LoadFromStream(lStream); //本行出错,不正确的流格式. 但将lStream先写入文件.再打开就可以,但速度太慢.
OleContainer1.CreateObjectFromFile('写入后的文件名文件名',false);请高手指教.在线等候,正确马上给分!
写入....
FNowOpenFileName:string;
lStream: TFileStream;
begin
FNowOpenFileName:=DfileName+'.doc';
lStream := TFileStream.Create(FNowOpenFileName, fmOpenReadWrite);
WriteSplitFieldCnt ('TABLE_GSZHXXT','GUID','XH','NR'[lKeyValues],lStream);
lStream.free;
其中WriteSplitFieldCnt 是将数据写入数据库的函数.
读出.....
FNowOpenFileName:=DFileName+expName;
try
lStream := TFileStream.create(FNowOpenFileName,fmCreate);
pp:=ReadSplitFieldCnt('TABLE_GSZHXXT', 'GUID', 'XH', 'NR', [lKeyValues], lStream);
finally
lStream.free;
end;
if pp then OleContainer1.LoadFromStream(lStream); //本行出错,不正确的流格式. 但将lStream先写入文件.再打开就可以,但速度太慢.
OleContainer1.CreateObjectFromFile('写入后的文件名文件名',false);请高手指教.在线等候,正确马上给分!
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————