各位高手,我在想用dbimage加载图片并把它存入到SQLSERVER数据库中,不知如何操作,请各位指教一下?

解决方案 »

  1.   

    显示
          try
          image1.Picture.Assign(ADOSection.fieldbyname('Photo') as TBlobField);
          except
    保存
     mybmp:=Tbitmap.Create;
        myimage:=Tjpegimage.Create;
        if image1.Picture.Graphic =nil then
        begin
          mybmp:=nil;
        end
        else
        begin
          myimage.Assign(image1.Picture.Graphic);
          mybmp.Assign(myimage);
        end;    try
        (ADOSection.fieldbyname('Photo') as Tblobfield).Assign(mybmp); //TheGraphic);
        finally
        myimage.Free;
        mybmp.Free;
        end;
      

  2.   

    读: 
    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;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!