Bitmap in InterBase-DB speichern?



  • Hallo Leute,
    ich versuche ein Bitmap in eine IB-DB zu speichern. Hier der Code:

    OpenPictureDialog1->Execute();
    
    AnsiString s="insert into NEW_TABLE (BILD) values (:BLOBS)";
          IBQuery1->SQL->Clear();
          IBQuery1->SQL->Add(s);
          IBQuery1->ParamByName("BLOBS")->AsBlob = OpenPictureDialog1->FileName;
    
          IBQuery1->ExecSQL();
    

    Bei der Ausführung von 'ExecSQL' bekomme ich folgende Fehlermeldung:

    ...Column unknow!
    

    Das soll doch bedeuten, das es das Feld 'BILD' in der Tabelle 'NEW_TABLE' nicht gibt,oder? Es gibt dieses Feld aber!!!

    gruß
    Torsten



  • Die Methode CreateBlobStream gibt ein TIBDSBlobStream-Objekt für das Lesen oder Schreiben der Daten in einem angegebenen BLOB-Feld zurück.

    function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override;

    Beschreibung

    Mit CreateBlobStream können Sie einen Stream abrufen, in den Daten aus einem BLOB-Feld (Binary Large Object) eingelesen oder aus dem Daten in ein BLOB-Feld geschrieben werden können. Der Parameter Field muß eine TBlobField-Komponente aus dem Eigenschafts-Array Fields enthalten. Der Parameter Mode gibt an, ob der Stream für das Lesen, Schreiben oder Aktualisieren des Feldinhalts verwendet werden soll.

    Hinweis: Der von dieser Methode zurückgegebene Stream gehört zur Datenmenge. Er darf nicht explizit freigegeben werden. Die Datenmenge sorgt automatisch für die Zuweisung und Freigabe aller mit CreateBlobStream erzeugten Streams.


Anmelden zum Antworten