Autor Beitrag
ibh_compucat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: Do 13.03.08 10:35 
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')

ausblenden 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
ausblenden 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 user profile iconKlabautermann: Delphi-Tags hinzugefügt.

_________________
Was du nicht begreifst, kannst du nicht verlernen!
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: 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.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
ibh_compucat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: Do 13.03.08 13:18 
Hallo Stefan,

ich habe das ausprobiert mit .AsVariant,

ausblenden 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 user profile iconKlabautermann: Delphi- & Quote-Tags eingefügt.

_________________
Was du nicht begreifst, kannst du nicht verlernen!
ibh_compucat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: Do 13.03.08 13:44 
ich habe jetzt mal den Umweg über eine Datei gewählt:

ausblenden 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 user profile iconKlabautermann: Delphi-Tags hinzugefügt.

_________________
Was du nicht begreifst, kannst du nicht verlernen!
ibh_compucat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: Do 13.03.08 15:19 
das Problem geht schon vorher los: allein wenn ich versuche, nachdem ich ein Foto eingespeichert habe mit

ausblenden 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 user profile iconKlabautermann: Delphi- und Quote-Tags hinzugefügt.

_________________
Was du nicht begreifst, kannst du nicht verlernen!
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
TBlobField(Table1.FieldByName('Foto')).LoadFromFile(HS);					

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
ibh_compucat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: 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

_________________
Was du nicht begreifst, kannst du nicht verlernen!
ibh_compucat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 130

Win 2000, Win 8.1
D6, Ent. XE5 Ent.
BeitragVerfasst: 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

_________________
Was du nicht begreifst, kannst du nicht verlernen!
Black_Fox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1337
Erhaltene Danke: 119

Win 10
RIO, CE, Lazarus
BeitragVerfasst: 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:

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 02.04.08 08:56 
Und deswegen: - closed -
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.