Entwickler-Ecke
Datenbanken - Grafik in Tabelle speichern
ibh_compucat - Do 13.03.08 10:35
Titel: Grafik in Tabelle speichern
Hallo,
das Problem: eine Grafik (Foto.bmp) soll in eine Paradox7 Tabelle gespeichert werden. Das habe ich so gemacht:
(Table1.Foto ist ein Grafik Feld 'G')
Delphi-Quelltext
1: 2: 3:
| Table1.Edit; Table1Foto.LoadFromFile('Foto.bmp'); Table1.Post; |
das funktioniert soweit.
Nun muß ich diese Tabelle nach Bearbeitung einzelner Daten in eine andere (ebenfalls Paradox7 Tabelle) umspeichern. Beide Tabellen haben die gleiche Struktur, sind identisch.
Wie kann ich dem Feld Table1.Foto das Feld der anderen Tabelle Table2.Foto zuweisen?
Ich habe das versucht mit
Delphi-Quelltext
1:
| Table1.Foto.Value := Table2.Foto.Value |
aber da kommt eine Fehlermeldung.
Ich hoffe, mir kann jemand einen Tipp geben?
Gruß ibh_compucat
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
Sinspin - Do 13.03.08 12:47
Probiers mal mit AsVariant für Quelle und Ziel deiner Zuweisung. Beim Zugriff direkt auf Value bekomme ich auch immer eine Exception. Der Typ eines DB Feldes mit binärem Inhalt, so wie in deiem Fall, ist normalerweise Blob oder Graphic.
ibh_compucat - Do 13.03.08 13:18
Hallo Stefan,
ich habe das ausprobiert mit .AsVariant,
Delphi-Quelltext
1:
| Table1.Foto.As Variant := Table2.Foto.As Variant |
aber es kommt immer noch an der Stelle, wo das Gaphic Feld aus der einen Tabelle in die andere Tabelle umgespeichert werden soll (aber nur, wenn ein Bild in dem Datensatz enthalten ist), folgende Meldung:
| Zitat: |
| BLOB wurde geändert. |
Welche Ursache kann das haben, bzw. wie kann ich das Problem umgehen?
Gruß ibh_compucat
Moderiert von
Klabautermann: Delphi- & Quote-Tags eingefügt.
ibh_compucat - Do 13.03.08 13:44
ich habe jetzt mal den Umweg über eine Datei gewählt:
Delphi-Quelltext
1: 2:
| Table1Foto.SaveToFile('Foto.bmp'); Table2Foto.LoadFromFile('Foto.bmp'); |
und trotzdem kommt (wenn ein Foto im Feld war) die Meldung BLOB wurde geändert.
Was könnte das sein?
Gruß ibh_compucat
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
ibh_compucat - Do 13.03.08 15:19
das Problem geht schon vorher los: allein wenn ich versuche, nachdem ich ein Foto eingespeichert habe mit
Delphi-Quelltext
1: 2: 3:
| Table1.Edit; Table1Foto.LoadFromFile(HS); Table1.Post; |
diesen Datensatz wieder ansteuere, kommt bereits diese Meldung
| Zitat: |
| BLOB wurde geändert |
also nicht erst beim umspeichern.
Hat jemand eine Idee?
Gruß ibh_compucat
Moderiert von
Klabautermann: Delphi- und Quote-Tags hinzugefügt.
Sinspin - Do 13.03.08 15:23
Hm, das finde ich ein bisschen seltsam.
Was für einen genauen Typ hat denn dein Feld? TBlobField oder TGraphicField?
Wenn ich via FieldByName und einem entsprechenden TypeCast darauf zugreife hat es bisher immer geklappt:
Delphi-Quelltext
1:
| TBlobField(Table1.FieldByName('Foto')).LoadFromFile(HS); |
ibh_compucat - Do 13.03.08 16:04
Hallo Stefan,
es ist ein TGraphicField, ich habe die Tabelle mit der Datenbankoberfläche von Delphi angelegt und für eine Paradox 7 Tabelle habe ich zur Auswahl für Grafik nur ein 'G'.
Komischerweise meckert niemand beim speichern, aber beim Neupositionieren auf diesen Datensatz kommt die Exception.
Gruß ibh_compucat
ibh_compucat - Fr 14.03.08 12:04
ich habe den Fehler gefunden:
Nach dem Umspeichern in eine andere Tabelle habe ich diese umbenannt. Aber Paradox7 legt bei Grafikfeldern eine zweite Tabelle an (neben der *.DB auch eine *.MB) und diese habe ich nicht mit umbenannt. Deshalb die Meldung: BLOB wurde verändert.
Danke!
ibh_compucat
Black_Fox - Di 01.04.08 20:52
hi ich habe auch ein problem und zwar bin ich noch ein anfänger mit db und delphi, ich habe ein kleines adressbuch gemacht und möchte nun zu den einzelnen leute bzw. freunden in einem adressbuch ein bild speichern ich verwende ein DBImage feld für die Bilder und hae das zurzeit soweit das ich die Bilder in das DBImage Feld reinladen kann wenn ich auf den Button Hinzufügen klicke.
Nun zu meinem Problem wie kann ich das Bild nun in der Datenbank speichern?
Sinspin - Mi 02.04.08 08:51
Du bekommst darauf gerne eine Antwort. :wink:
Aber nicht an dieser Stelle.
Erstelle dazu bitte ein eigenes Thema in dieser Sparte. Da dieses Thema nicht deines ist und bereits "abgehagt" wurde. :zwinker:
jasocul - Mi 02.04.08 08:56
Und deswegen: - closed -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!