-2
我从客户那里获得了一个sql数据库。在sql数据库中有一个表,称为“文档”。文档存储为斑点(看看截图)。恢复存储为sql数据库中的斑点的文档
我想通过Delphi(FileStream?)恢复文件。你有什么想法如何做到这一点?
问候, 丹尼斯弗里德里希
我从客户那里获得了一个sql数据库。在sql数据库中有一个表,称为“文档”。文档存储为斑点(看看截图)。恢复存储为sql数据库中的斑点的文档
我想通过Delphi(FileStream?)恢复文件。你有什么想法如何做到这一点?
问候, 丹尼斯弗里德里希
function SaveFieldBlobToFile(FQuery: TDataSet): boolean;
var MyStream : TMemoryStream;
begin
Result:= false;
MyStream:= TMemoryStream.Create;
try
(FQuery.Fieldbyname('MODELE') as TBlobField).SaveToStream(MyStream);
if (MyStream<>nil) and (MyStream.Size > 0) then
begin
MyStream.Position := 0;
MyStream.SaveToFile('C:\Temp\tempMyFile.zip');
Result:= true;
end
else Result:= false;
finally
MyStream.Free;
end;
end;
function LoadFileToBlob(FQuery: TDataSet): boolean;
var MyStream : TMemoryStream;
begin
Result:= false;
MyStream := TMemoryStream.Create;
try
MyStream.LoadFromFile('C:\Temp\tempMyFile.zip');
MyStream.Position := 0;
TryEdit(FQuery);
(FQuery.FieldByName('MODELE') As TBlobField).LoadFromStream(MyStream);
TryPost(FQuery);
Result := True;
finally
MyStream.Free;
end;
end;
为什么要使用中间存储器流?似乎有点没有意义 - 直接使用文件流即可。什么是'FZQuery'?错字? –
http://stackoverflow.com/questions/26103437/delphi-load-image-save-as-blob-in-a-sql-数据库https://www.google.com/#q=delphi+blob – fantaghirocco
F:TFileStream; F:= TFileStream.Create('C:\ Temp \ test.dat',fmOutput); 尝试 AField.SaveToStream(F);最终 F.Free; 结束; – Zam
使用Navicat软件浏览数据 – Zam