![]() |
Re: Bilder in die Paradoxtabelle speichern ?
Hi,
hast Du die Unit JPEG in Deiner Uses-Liste? mfG mirage228 |
Re: Bilder in die Paradoxtabelle speichern ?
hallo,
JPEG habe ich in uses aufgenommen,dann hat er auch den code kompiliert
Delphi-Quellcode:
er läßt mich auch posten, aber wenn ich das jpeg dann in der dbimage anschauen will kommt der fehler
procedure TForm1.Button2Click(Sender: TObject);
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; // query1.SQL.Text := 'Update Tabelle Set Foto = :Bild where ID = :id'; query1.SQL.Text := 'Insert into losch( Tennis) values( :Bild);'; query1.ParamByName('bild').LoadFromStream(blob,ftGraphic); // query1.ParamByName('id').AsInteger := DM.FahrerID.AsInteger; query1.ExecSQL; end; Finally freeandnil(blob); freeandnil(jpeg); freeandnil(bmp); DBImage1.LoadPicture; END end;
Delphi-Quellcode:
mfg vader
bitmap ist ungültig
|
Re: Bilder in die Paradoxtabelle speichern ?
Mit Paradox und Blob sollte man sehr vorsichtig sein.
Damit bin ich schon vor 8 Jahren in der Hochzeit der BDE auf die Nase gefallen. Paradox hat einen nie beseitigten Handlingfehler bei Blobs. Irgendwann kommt dann die Meldung Blob kann nicht gelesen werden und ist dann irreversibel zerschossen. Wenn die Blob unbedingt in der Datenbank gespeichert werden soll, dann sollte man auf eine andere Datenbank ausweichen. Firebird hat z.B. keinerlei Probleme mit Blob. Gruß Peter |
Re: Bilder in die Paradoxtabelle speichern ?
Trotz Einbinden der Unit Jpeg ist es mir noch nie gelunden, Jpegs direkt aus einem BLOB-Feld in TDBImage anzuzeigen. Ich erhielt immer eine Fehlermeldung (keine gültige Bitmap oder ähnlich). Deshalb verwende ich immer TImage und weise TImage im Ereignis AfterScroll des Datasets das Jpeg-File aus dem Blob-Feld zu.
Ansonsten kann auch ich nur anraten, bei Paradox keine Blob-Felder zu verwenden, weil auch ich nur schlechte Erfahrungen damit gemacht habe. Grüße Mikhal |
Re: Bilder in die Paradoxtabelle speichern ?
ok,überredet
ich lasse die finger mit dem abspeichern in die paradox !!! aber wie geht das, das ich nur den pfad in der datenbank habe zu dem foto ?? MFG VADER |
Re: Bilder in die Paradoxtabelle speichern ?
Delphi-Quellcode:
In der Unit SysUtils findest du diese Funktion, sie extrahiert den Pfad aus dem Dateinamen.
function ExtractFilePath(const FileName: string): string;
Grüße Mikhal |
Re: Bilder in die Paradoxtabelle speichern ?
Da liegt wohl ein Missverständnis vor - nicht der absolute Pfadanteil einer Photodatei wird in der Datenbank gespeichert, sondern der Dateiname, allenfalls mit einem relativen Pfadanteil, sollte gespeichert werden. Der absolute Bezugspunkt im Dateisystem sollte als Konfigurationsparameter zugänglich sein, so dass man die Bilddateien nach Bedarf im Dateisystem verschieben kann, ohne dass die Referenzen in der Datenbank ungültig werden.
Grüße vom marabu |
Re: Bilder in die Paradoxtabelle speichern ?
hallo marabu,
hast du ein beispiel wie das ausschaut ? Zitat:
mfg vader |
Re: Bilder in die Paradoxtabelle speichern ?
Du entscheidest dich für ein Verzeichnis, in das du die Bilder ablegen willst, in die datenbank speicherst du dann nicht den absoluten Dtanpfad sondern nur relativ zu diesem Verzeichnis. Z.B. du hast dich entschieden, das die Bilder relativ zu 'c:\tennis' abzulegen. Ein Bild liegt nun auf c:\tennis\maenner\boris.jpg'. dann schreibst du in die Datenbank 'maenner\boris.jpg'. Den Pfad c:\tennis schreibst du zusammen mit den Datenbankparametern z.B. in eine Ini oder XML-Datei.
|
Re: Bilder in die Paradoxtabelle speichern ?
das ist alles so kompliziert diese datenbankprogrammierung, jetzt brauche ich eine xml datei oder ini mit den
datenbankparameter, eddy schreibt: Zitat:
mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:06 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