Announcement

Collapse
No announcement yet.

TDBImage und Access 2000 über ADO

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TDBImage und Access 2000 über ADO

    Hallo,

    ich bekomme es einfach nicht hin, Images vom Typ JPEG oder GIF in meinen Access Tabellen zu speichern. Die Beispiele aus dem Forum habe ich mir auch schon angesehen, es klappt einfach nicht. Mit TImage gibt es keine Probleme. Eine Stream Kopie von TImage zu TDBImage schlug auch fehl.

    Hier ein Beispiel von Andreas, aber das funktioniert nicht mehr:

    <pre>
    procedure TForm1.ADODataSet1AfterScroll(DataSet: TDataSet);
    var
    aBitmap : TBitmap;
    aBS : TADOBlobStream;
    begin
    if not (ADODataSet1.State in [dsBrowse]) then Exit;

    aBS := TADOBlobStream.Create(ADODataSet1Abbildung, bmRead);
    try
    aBS.Seek(78, soFromBeginning);
    aBitmap := TBitmap.Create;
    try
    aBitmap.LoadFromStream(aBS);
    DBImage1.Picture.Graphic := aBitmap;
    finally
    aBitmap.Free;
    end
    finally
    aBS.Free;
    end;
    end;
    </pre>

    Weis jemand wo der Fehler liegt ?

    Bis dann
    Mathias

  • #2
    Hallo,

    um die Ursache des Problem einzugrenzen, würde ich mein Beispiel zuerst auf die Northwind-Beispieldatenbank (Microsoft) loslassen. Dort sollte die Grafik aus der Spalte <i>Photo</i> der Tabelle <i>Employees</i> in jedem Fall angezeigt werden

    Comment


    • #3
      Hallo Andreas,

      Okay werde es gleich mal in Northwind testen. Hatte dummerweise eine eigene Database verwendet.

      Bis dann
      Mathia

      Comment


      • #4
        Hallo Andreas,

        habe alles noch mal durchgespielt. Alles mit der Northwind Datenbank, auf der Basis vom SQL-Server und Access 2000. Wenn mann das DBImage nicht direkt mit dem Recordset verbindet, klappt es. Andernfalls kommt die Meldung Bitmap ungültig. Die Afterscroll Sequenz hatte ich eingebunden. Alle anderen Bitmaps werden jetzt nicht mehr angezeigt, das sind jene, die ganz normal mit LoadFromFile() geladen wurden. Gibt es da eine Möglichkeit eine globale Speichersequenz zu schreiben, damit alle angezeigt werden können ?

        Bis dann
        Mathia

        Comment

        Working...
        X