![]() |
Re: Foto in DB speichern?
nochmal Blob :-(
bei der Zuweisung FQuery1['ARTFOTO']:= FARTFOTO; FARTFOTO ist von Type TBLOBField ,bekomme ich nen Fehler : Error: Incompatible type for arg no. 2: Got "TBlobField", expected "Variant" was mach ich da noch falsch? dane Gruss KH |
Re: Foto in DB speichern?
Zeig doch mal die Routine zum Speichern (vielleicht zeig ich Dir dann auch meine :lol:).
|
Re: Foto in DB speichern?
Zitat:
die restliche Felder hab ich der Übersichtlichkeit wegen hier mal weggelassen. FQuery1.SQL.clear; FQuery1.SQL.add('select '); FQuery1.SQL.add('*'); FQuery1.SQL.add('from artikel where '); FQuery1.SQL.add('ARTIKEL_ID = :ARTIKEL_ID'); FQuery1.ParamByName('ARTIKEL_ID').AsInteger := FARTIKEL_ID; FQuery1.open; // liefert eine leere datenmenge FQuery1.append; // neuen Datensatz anhängen FQuery1['ARTFOTO']:= FARTFOTO; FhwdQuery1.post; |
Re: Foto in DB speichern?
Wieso holst Du Dir erst eine leere Datenmenge, statt gleich ein Insert zu machen?
|
Re: Foto in DB speichern?
Zitat:
Lasse mich aber gerne eines Besseren belehren. EDIT: ich habe append anstatt insert verwendet, weil ich den DS an der geöffneten Datenmenge anhängen wollte und nicht irgendwo zwischenreinschieben. Gruss KH |
Re: Foto in DB speichern?
Hier mal meine Routine (FBLib statt ZEOS, nicht wundern). Allerdings speichere ich vorher ggf. den neuen Datensatz ab und mache danach ein Update, um nicht alles doppelt schreiben zu müssen:
Delphi-Quellcode:
procedure TMyClass.StorePic;
var aStream: TMemoryStream; begin if FPicModified then begin with TFBLParamDsql.Create(nil) do try Transaction := FTransaction; if not Transaction.InTransaction then Transaction.StartTransaction; SQL.Text := 'UPDATE Tabelle SET Bild=:bild WHERE ID=:id'; Prepare; ParamByNameAsInt64('id',FID); if Assigned(FBild) then begin aStream := TMemoryStream.Create; try FBild.SaveToStream(aStream); aStream.Position := 0; BlobParamByNameLoadFromStream('bild',aStream); finally aStream.Free; end; end else ParamByNameAsNull('bild'); try ExecSQL; except raise; end; FPicModified := false; finally Free; end; end; end; |
Re: Foto in DB speichern?
ok, ich danke dir
Gruss KH |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz