AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Bild in mdb-Datei schreib funzt nicht - WARUM?
Thema durchsuchen
Ansicht
Themen-Optionen

Bild in mdb-Datei schreib funzt nicht - WARUM?

Ein Thema von torud · begonnen am 11. Apr 2004 · letzter Beitrag vom 11. Apr 2004
Antwort Antwort
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Bild in mdb-Datei schreib funzt nicht - WARUM?

  Alt 11. Apr 2004, 10:23
Mit den zwei untenstehenden proceduren versuche ich das aktuelle Bild, welches sich derzeit noch lokal auf dem pc befindet in den jeweiligen Datensatz zu schreiben und dann bei OnChange wieder auszulesen. Das Auslesen kann schon nicht klappen, da ich schon direkt nach dem Schreiben in der Messagebox sehe, dass die Groesse des Blobs 0 ist. Somit wurde nicht geschrieben. Fakt ist aber, dass definitiv ein Bild uebergeben wurde.

Delphi-Quellcode:
procedure SaveImage(Tabelle: TADOTable; Bild: TImage; Feldname: String);
var size:integer;
begin
  Tabelle.Edit;
  (Tabelle.FindField(Feldname) As TBlobField).Assign(Bild.Picture);
   size:=(Tabelle.FindField(Feldname) As TBlobField).BlobSize;
   ShowMessage('groesse:'+inttostr(size));
  Tabelle.Post;
end;

procedure LoadImage(Tabelle: TADOTable; Bild: TImage; Feldname: String);
begin
  if (Tabelle.FindField(Feldname) As TBlobField).BlobSize > 0 then
   ShowMessage('bild da');
   Bild.Picture.Assign((Tabelle.FindField(Feldname) As TBlobField));
end;
Mache ich was falsch, oder kann das grundsaetzlich so nicht funktionieren. Uebrigens: Das Feld, in welches geschrieben wird, habe ich als LongBinary erzeugt.

[edit=r_kerber]Code- durch Delphi-Tags ersetzt. Mfg, r_kerber[/edit]
Danke
Tom
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#2

Re: Bild in mdb-Datei schreib funzt nicht - WARUM?

  Alt 11. Apr 2004, 13:44
Hallo,
ich habe zwar keine Lösung für Dich, aber wollte Dich darauf hinweisen, dass Access nicht die richtige DB ist, um dort Bilder zu speichern! Access wandelt alle Bilder automatisch wieder in BMP um und somit nutzt ein kleines Bild bereits 1-2 MB (je nach Größe) und je nach Anzahl Deiner Bilder "bläht" sich die DB ins endlose auf.

Mein Tipp:
Speichere nur den Pfad zum Bild und lese ihn dann bei Bedarf wieder aus, um das Bild anzuzeigen!

Gruß Matt
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Bild in mdb-Datei schreib funzt nicht - WARUM?

  Alt 11. Apr 2004, 16:06
Danke fuer den Tipp.

Ich habe folgendes vor. Ich habe ein DB mit allen Laendern dieser Welt erstellt. Zu jedem dieser Laender habe ich die Flagge parat. Diese liegt momentan im Applicationpath. Ich dachte, dass es besser waere die Bilder in die DB zu packen.

Dem scheint also nicht so.

OK, dann lass ich es lieber.

Aber des Raetsels Loesung wuerde mich dennoch interessieren.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Bild in mdb-Datei schreib funzt nicht - WARUM?

  Alt 11. Apr 2004, 17:51
Hallo,
schau mal unter folgendem Link nach.
Entwickler

Das Feld muss vom Type OLE-Objekt sein. Dann kannst Du darin ein BLOB speichern.
Da es sich um ein BLOB handelt speichert Access es auch als binäre Daten.
Das Access ein Bild automatisch in ein BMP umwandelt glaube ich nicht. Wie auch?
I come from outer space to save the human race
  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 13:39 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