AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TImage mit DBExpress in einer Firebird DB speichern
Thema durchsuchen
Ansicht
Themen-Optionen

TImage mit DBExpress in einer Firebird DB speichern

Ein Thema von sega84 · begonnen am 19. Sep 2006 · letzter Beitrag vom 20. Sep 2006
Antwort Antwort
sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#1

TImage mit DBExpress in einer Firebird DB speichern

  Alt 19. Sep 2006, 16:26
Datenbank: Firebird • Version: 2.0 • Zugriff über: DBExpress
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:
Column Unknown: bild1 Das Blob Feld, in dem das TImage geladen wird, hat die folgende Definition:
BLOB SUB_TYPE 0 SEGMENT SIZE 80 Hier ein Quellcodeausschnitt:
Delphi-Quellcode:
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;
Danke für eure Hilfe...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 19. Sep 2006, 17:55
Was für einen Wert hat .ParamCheck?
Markus Kinzler
  Mit Zitat antworten Zitat
sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#3

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 08:17
Zitat von mkinzler:
Was für einen Wert hat .ParamCheck?
ParamCheck hat einen Wert von 1.
Als wird der Parameter ja auch abgefragt....
Wieso klappt es denn dann nicht...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 08:27
Hallo,

Versuch mal

ParamByName().AsBlob:= .Picture ..

Noch ne andere Sache, die Id=1 existiert auch ?

Heiko
Heiko
  Mit Zitat antworten Zitat
sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#5

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 08:38
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....
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 09:19
Hallo,

ParamByName().LoadFromStream geht
also könnte man das Bitmap in einen MemoryStream packen.


Heiko
Heiko
  Mit Zitat antworten Zitat
sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#7

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 10:11
Und wie geht das??? Weiß das sowas geht, aber wie?? Google hat mir auch noch keine guten Tipps gegeben.....
  Mit Zitat antworten Zitat
sega84

Registriert seit: 18. Sep 2006
73 Beiträge
 
Delphi XE2 Professional
 
#8

Re: TImage mit DBExpress in einer Firebird DB speichern

  Alt 20. Sep 2006, 14:28
Fehler erldigt:
Man muss wie folgt die Query absenden:
query.ExecSQL(false);
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz