image从数据库中获取图片方法

procedure   TForm1 . GetPicture(pos: string ;TempQuery:   TADOQuery);
var
   MS_JpegStream:TMemoryStream;
begin
   try
     MS_JpegStream:=TMemoryStream . Create;
     with   tempQuery   do
     begin
       close;
       sql . clear;
       sql . Add( 'select  tp   from   tp' );
       Open;
     end ;
     if    tempquery . FieldByName( 'tp' ).isnull    then
     begin
       image1 . Picture . Graphic:= nil ;
     end
     else
     begin
       (tempQuery . FieldByName( 'tp' )    as    tblobfield).savetostream(MS_JpegStream);
       image1 . Picture . Graphic:= nil ;
       image1 . Picture . Graphic:=TJpegImage . Create;
       MS_JpegStream . Position:= 0 ;
       image1 . Picture . Graphic . LoadFromStream(MS_JpegStream);
     end ;
   finally
     MS_JpegStream . Free;
   end ;
end ;
 
procedure   TForm1 . SetPicture(id: string ;TempQuery:TADOQuery);
var
   MS_JpegStream:TMemoryStream;
   M_BitMap:TBitMap;
   M_Jpeg:TJpegImage;
begin
   OpenDialog1 . Execute;
   try
     MS_JpegStream:=TMemoryStream . Create;
     M_BitMap:=TBitMap . Create;
     M_Jpeg:=TJpegImage . Create;
     if   ExtractFileExt(OpenDialog1 . FileName)= '.bmp'    then
     begin
       M_BitMap . LoadFromFile(OpenDialog1 . FileName);
       M_Jpeg . Compress;
       M_Jpeg . Assign(M_BitMap);
     end
     else  if  extractfileext(OpenDialog1 . FileName)= '.jpg'    then
     begin
       M_Jpeg . LoadFromFile(OpenDialog1 . FileName);
     end ;
     M_Jpeg . SaveToStream(MS_JpegStream);
     with  tempQuery  do
     begin
       close;
       sql . clear;
       sql . Add( 'insert into tp (id,tp) values (' '1' ',:image)' );
       Parameters . ParamByName( 'image' ).LoadFromStream(MS_JpegStream,ftblob);
       ExecSQL;
     end ;
   finally
     MS_JpegStream . Free;
     M_BitMap . Free;
     M_Jpeg . Free;
   end ;
end ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值