高手:
我把 word文档直接存到数据库中,在读取时也能打开,但会报文件损坏,需要修复。程序如下:
begin
MyFile:=TFileStream.Create( 'c:\temp.tmp ',fmCreate);
with adoQuery1 do
begin
Stream := TadoBlobStream.Create
(FieldByName( 'text') as TBlobField, bmRead);
MemSize := Stream.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
try
Stream.Read(Buffer^,MemSize);
MyFile.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
end;
if FileExists( 'c:\temp.DOCX')
then
DeleteFile( 'c:\temp.DOCX');
if FileExists( 'c:\temp.tmp ')
then
begin
RenameFile( 'c:\temp.tmp', 'c:\temp.docx'); ShellExecute(handle, 'open',pchar('c:\temp.docx'), '', '', SW_SHOWNORMAL)
end;end;
我把 word文档直接存到数据库中,在读取时也能打开,但会报文件损坏,需要修复。程序如下:
begin
MyFile:=TFileStream.Create( 'c:\temp.tmp ',fmCreate);
with adoQuery1 do
begin
Stream := TadoBlobStream.Create
(FieldByName( 'text') as TBlobField, bmRead);
MemSize := Stream.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
try
Stream.Read(Buffer^,MemSize);
MyFile.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
end;
if FileExists( 'c:\temp.DOCX')
then
DeleteFile( 'c:\temp.DOCX');
if FileExists( 'c:\temp.tmp ')
then
begin
RenameFile( 'c:\temp.tmp', 'c:\temp.docx'); ShellExecute(handle, 'open',pchar('c:\temp.docx'), '', '', SW_SHOWNORMAL)
end;end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货