Ich habe mit dem Borland C++ Builder 4.0 eine Datenbank namens 'Grundwort' erstellt. In dieser Datenbank befinden sich Blob-Felder, in die ich jeweils eine Datei einspeichern will.
Wenn ich in meinem Code das Feld "SoundA1", das ich als binäres Feld eingerichtet habe, anspreche und das Einspeichern der Datei vornehmen will, reagiert der Compiler jedoch mit einem Compiler-Fehler "'LoadFromFile' is not a member of 'TField'".
Der Befehl, den ich eingegeben habe, lautet:
Grundwort->FieldByName("SoundA1")->LoadFromFile(Dateiname);
Dateiname ist der Name der Datei, die eingespeichert werden soll. LoadFromFile ist eine Funktion aus der Klasse TBlobField. Das Feld "SoundA1" wird aber vom Compiler nicht als TBlobField erkannt.
Andererseits erkennt der Compiler schon, dass es sich um ein Blob-Feld handelt, denn der Code
if (Grundwort->FieldByName("SoundA1")->IsBlob())
Application->MessageBox("Feld ist Blob","Hinweis",ID_OK);
wird compiliert und liefert den Hinweis, dass das Feld ein Blob-Feld ist. Die dazugehörige else-Anweisung habe ich hier weggelassen.
Im Objekt-Inspektor ist das Feld "SoundA1" auch als TBlobField eingetragen. Wieso erkennt der Compiler hier nur TField und nicht TBlobField? Ist vielleicht etwas mit der Struktur der Datenbank nicht in Ordnung?
Wenn ich in meinem Code das Feld "SoundA1", das ich als binäres Feld eingerichtet habe, anspreche und das Einspeichern der Datei vornehmen will, reagiert der Compiler jedoch mit einem Compiler-Fehler "'LoadFromFile' is not a member of 'TField'".
Der Befehl, den ich eingegeben habe, lautet:
Grundwort->FieldByName("SoundA1")->LoadFromFile(Dateiname);
Dateiname ist der Name der Datei, die eingespeichert werden soll. LoadFromFile ist eine Funktion aus der Klasse TBlobField. Das Feld "SoundA1" wird aber vom Compiler nicht als TBlobField erkannt.
Andererseits erkennt der Compiler schon, dass es sich um ein Blob-Feld handelt, denn der Code
if (Grundwort->FieldByName("SoundA1")->IsBlob())
Application->MessageBox("Feld ist Blob","Hinweis",ID_OK);
wird compiliert und liefert den Hinweis, dass das Feld ein Blob-Feld ist. Die dazugehörige else-Anweisung habe ich hier weggelassen.
Im Objekt-Inspektor ist das Feld "SoundA1" auch als TBlobField eingetragen. Wieso erkennt der Compiler hier nur TField und nicht TBlobField? Ist vielleicht etwas mit der Struktur der Datenbank nicht in Ordnung?
Comment