-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