AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi JPG als blob in firebird-table speichern
Thema durchsuchen
Ansicht
Themen-Optionen

JPG als blob in firebird-table speichern

Ein Thema von Meta777 · begonnen am 2. Mai 2005 · letzter Beitrag vom 3. Mai 2005
 
Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: JPG als blob in firebird-table speichern

  Alt 3. Mai 2005, 11:13
Zitat von marabu:
Hättest du mal nur die Erbgeschichte von TIBQuery studiert. Was mit TTable funktioniert, funktioniert auch mit TIBQuery, da beide mit TFields arbeiten. Na ja, du bist zu faul zum Lesen und ich bin zu faul zum Testen - ich denke wir sind quitt.

Also, dass du mich besser kennst als ich mich selbst überrascht mich fast ein wenig...
Aber wahrscheinlich hät ich zu meinen posting einfach noch ein paar Details schreiben sollen.
Nuja, also soweit war ich auch schon. Dein source geht nicht. Jedenfalls nicht ohne weiteres.
Ich hab der SaveJpg noch "dbField.DataSet.Edit;" und "dbField.DataSet.Post;" hinzugefügt.
der query hab ich auch dem "UpdateObject" ein TIBUpdateSQL zugewiesen (und auch das SQL generieren lassen). Hier mal das SQL für "insert":
SQL-Code:
insert into BLOBLTEST
  (ID, TEXT, PIC)
values
  (:ID, :TEXT, :PIC)
Aufrufen tu ich die SaveJPG wie folgt:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  pic: TJPEGImage;
begin
  pic := TJPEGImage.Create;
  pic.LoadFromFile('d:\test.jpg');
  try
    if SaveJpeg(ibqBlob.FieldByName('PIC'), pic) then begin
      ibqBlob.Transaction.Commit;
    end;
  finally
    pic.Free;
  end;
end;
Zum lesen benutz ich:
Code:
procedure TForm1.Button2Click(Sender: TObject);
var
  pic: TJPEGImage;
begin
  pic := TJPEGImage.Create;
  if LoadJpeg(ibqBlob.FieldByName('PIC'), pic) then begin
    pic.SaveToFile('D:\t.jpg');
  end;
end;
Es gibt keinerlei Exceptions aber wenn ich das Bild wieder lade ist d:\t.jpg 0 Byte groß!?
Was mach ich falsch?

Bin für jeden Hinweis dankbar.

PS: Hier das Script für die Test-Tabelle:
SQL-Code:
CREATE TABLE BLOBLTEST (
    ID INTEGER NOT NULL,
    TEXT VARCHAR(10),
    PIC BLOB SUB_TYPE 0 SEGMENT SIZE 2048
  Mit Zitat antworten Zitat
 


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 17:56 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