Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Jpg abspeichern in MySQL Datenbank (https://www.delphipraxis.net/49600-jpg-abspeichern-mysql-datenbank.html)

Dizzy84 13. Jul 2005 15:27

Datenbank: MySQL • Version: 4.1 • Zugriff über: MySQL Turbomanager

Jpg abspeichern in MySQL Datenbank
 
Hallo,

ich bin seit 2 Wochen dabei mit delphi zu arbeiten.

Mein Problem ist ich habe eine Datenbank erstellt mit der ich aus normal DBedit feldern daten speichere sowie aus einem Dbimage- feld bilder abspeichern will.
Das problem ist das ich zwar BMP.Dateien in der Datenbank speichern kann jedoch keine JPG.Dateien. Das anzeigen aller datei typen im image FEld funktioniert problemlos halt nur nicht das speichern.

Mein Quellcode ist recht einfahc gestrickt also ;) bin halt anfänger

procedure TForm1.Button4Click(Sender: TObject);
begin
if bildopen.Execute then
begin
dbimage1.Picture.LoadFromFile(bildopen.FileName);
end;

end;


Meine frage also wie schaff ich es das auch die jpgs abgespeichert werden -> in den andern foren beiträgen war leider nur das Problem zu finden das ihnen die Bilder nicht angezeigt wurden :/ das klappt ja ^^

MFG

Dizzy

Chris1986 13. Jul 2005 16:20

Re: Jpg abspeichern in MySQL Datenbank
 
Wie hast du denn das Feld in der mySQL-DB deklariert?

Dizzy84 14. Jul 2005 06:35

Re: Jpg abspeichern in MySQL Datenbank
 
Ohja ganz vergessen anzugeben, das FEld is natürlich ein Blob-Feld!

Dizzy84 15. Jul 2005 08:13

Re: Jpg abspeichern in MySQL Datenbank
 
Kann mir keiner helfen ? Mein progi is fertig wenn das funzt ;)

marabu 15. Jul 2005 08:18

Re: Jpg abspeichern in MySQL Datenbank
 
Hallo Dizzy,

hast du schon hier gelesen?

Grüße vom marabu

Dizzy84 15. Jul 2005 08:41

Re: Jpg abspeichern in MySQL Datenbank
 
ja dort habe ich geschaut aber konnte mir daraus nix positives ziehen, sein problem ist ja das er weder bmp noh jpg gepsiechert kriegt -> bei mir is da problem wiegesagt er speichert die bmps in der datenbank jedoch nicht die jpgs :/
Ich probiere scho länger das hinzukriegen aber entweder werd ich ned schlau aus den anderen treads oder es is halt nicht passend zu meinem prob :(
greetz dizzy

Memo 15. Jul 2005 08:56

Re: Jpg abspeichern in MySQL Datenbank
 
Versuchs mal so:
Delphi-Quellcode:
var
   blob : TMemoryStream;
   jpeg : TJPEGImage;
   bmp : TBitmap;
   s: String;
begin
    blob := TMemoryStream.Create();
    jpeg := TJPEGImage.Create;
    bmp := TBitmap.Create;
   TRY
     if OpenpictureDialog1.Execute then
     begin
          s :=ExtractFileExt(OpenPictureDialog1.FileName);
          if uppercase(s) = '.BMP' then
          begin
             bmp.loadfromfile(OpenPictureDialog1.FileName);
             blob.Clear;
             bmp.saveToStream(blob);
          end else
          begin
             jpeg.LoadFromFile(OpenPictureDialog1.FileName);
             blob.Clear;
             jpeg.SaveToStream(blob);
          end;
          SQLTable.SQL.Text := 'Update Tabelle Set Foto = :Bild where ID = :id';
          SQLTable.ParamByName('bild').LoadFromStream(blob,ftGraphic);
          SQLTable.ParamByName('id').AsInteger := DM.FahrerID.AsInteger;
          SQLTable.ExecSQL;
     end;
   Finally
      freeandnil(blob);
      freeandnil(jpeg);
      freeandnil(bmp);
      DBImageEx1.LoadPicture;
   END
end;

Dizzy84 15. Jul 2005 13:18

Re: Jpg abspeichern in MySQL Datenbank
 
Das Ergebnis ist das er ab Zeile

SQLTable.SQL.Text := 'Update Tabelle Set Foto = :Bild where ID = :id';
SQLTable.ParamByName('bild').LoadFromStream(blob,f tGraphic);
SQLTable.ParamByName('id').AsInteger := DM.FahrerID.AsInteger;
SQLTable.ExecSQL;

als ungültigen Bezeichner sieht, ich habe die Zeile mal auskommentiert dann gib er
DBImageEx1.LoadPicture;

als ungültig aus

Wenn ich die ebenfalls rausnehme is das Programm Startbar jedoch ist dann kein Bild anzeigbar im DBimage1 :/

also ich kann mir da leider kein riem drauf machen als anfänger

Memo 15. Jul 2005 13:34

Re: Jpg abspeichern in MySQL Datenbank
 
Zitat:

Zitat von Dizzy84
SQLTable

Das ist eine MySQL-Komponente die ich benutze. Du musst den Namen deiner Zugriffskompo. eintragen. Auch den SQL-String musst du auf deine Bedürfnisse anpassen.

Zitat:

DBImageEx1
Es gilt das gleiche wie oben.
Zitat:

Wenn ich die ebenfalls rausnehme is das Programm Startbar jedoch ist dann kein Bild anzeigbar im DBimage1 :/
Wie sollte es auch.

Dizzy84 15. Jul 2005 14:00

Re: Jpg abspeichern in MySQL Datenbank
 
Ähm ok ich probier mal was ich damit anfangen kann ;) thx ersma


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Seite 1 von 2  1 2      

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