![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: DBExpress
TImage mit DBExpress in einer Firebird DB speichern
Hallo,
habe den Inhalt eines TImage dynamisch über eine Twain-Komponente geladen, bzw. ein vorher definiertes Bild in diese geladen. Nun möchte ich dessen Inhalt über eine SQLQuery direkt an die Firebird Datenbank senden. Habe zwar schon ein wenig was versucht, dass klappte aber nicht so besonders. Bekomme immer die Fehlermeldung:
Delphi-Quellcode:
Das Blob Feld, in dem das TImage geladen wird, hat die folgende Definition:
Column Unknown: bild1
Delphi-Quellcode:
Hier ein Quellcodeausschnitt:
BLOB SUB_TYPE 0 SEGMENT SIZE 80
Delphi-Quellcode:
Danke für eure Hilfe...
procedure SaveBild;
var query:TSQLQuery; begin inherited; //Bild in DB Speichern... try query := TSQLQuery.Create(self); query.SQLConnection := SQLConnection1; query.Close; query.SQL.Clear; query.SQL.Add('update bilder set BILD = :bild1 where id = 1;'); query.ParamByName('bild1').Assign(Image1.Picture); query.ExecSQL(true); except on e:Exception do ShowMessage(e.Message); end; end; |
Re: TImage mit DBExpress in einer Firebird DB speichern
Was für einen Wert hat .ParamCheck?
|
Re: TImage mit DBExpress in einer Firebird DB speichern
Zitat:
Als wird der Parameter ja auch abgefragt.... Wieso klappt es denn dann nicht... :wall: |
Re: TImage mit DBExpress in einer Firebird DB speichern
Hallo,
Versuch mal ParamByName().AsBlob:= .Picture .. Noch ne andere Sache, die Id=1 existiert auch ? Heiko |
Re: TImage mit DBExpress in einer Firebird DB speichern
Also die ID 1 besteht immer in dieser Tabelle.
Wie soll ich den den das folgende Machen? query.FieldByName('bild1').AsBlob := Image1.Picture; Das Klappt nicht, da ein Blob einen String erwartet und das Image1.Picture ein TPicture... Oder würde es mit einem StringStream funktionieren? So nur als Idee.... |
Re: TImage mit DBExpress in einer Firebird DB speichern
Hallo,
ParamByName().LoadFromStream geht also könnte man das Bitmap in einen MemoryStream packen. Heiko |
Re: TImage mit DBExpress in einer Firebird DB speichern
Und wie geht das??? Weiß das sowas geht, aber wie?? Google hat mir auch noch keine guten Tipps gegeben.....
|
Re: TImage mit DBExpress in einer Firebird DB speichern
Fehler erldigt:
Man muss wie folgt die Query absenden:
Delphi-Quellcode:
query.ExecSQL(false);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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