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