用 TOleContainer 应该可以处理

解决方案 »

  1.   

    读:
    TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
    TBlobStream * pmem=new TBlobStream(pField,bmRead);
    pmem->Seek(0,soFromBeginning);
    Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
    pBitmap->LoadFromStream(pmem);
    Image1->Picture->Assign(pBitmap);
    delete pBitmap;
    delete pmem;
    写:
    TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
    TBlobStream * pmem=new TBlobStream(pField,bmWrite);
    pmem->Seek(0,soFromBeginning);
    Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
    pBitmap->Assign(Image1->Picture->Graphic);
    pBitmap->SaveToStream(pmem);
    delete pBitmap;
    delete pmem;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!
      

  2.   

    我照各位老兄指点做了,不行啊。
    问题在于Access97中以OLE对象存储的BMP图形字段好象是多包括了一段OLE头,不知应如何处理?