数据库中读写jpeg的函数!

//写入数据库的方法,可以用文件对话框读到FieldName

function sfSaveJpgToTable(Query:TAdoQuery;FieldName,ImageFileName:String):boolean;
var
 Jpg:TJpegImage;
begin
 Result:=False;
 Jpg:=TJpegImage.Create;
 try
   with Query do
   if Active and (RecordCount>0) then
   begin
     Jpg.LoadFromFile(ImageFileName);
     if Not (State in [dsInsert,dsEdit]) then Edit;
     FieldByName(FieldName).Assign(Jpg);
     Post;
     Result:=True;
    end;
  except
    jpg.Free;
    Exit;
  end;
   Jpg.Free;
end;

//读出  PhotoFieldName是数据库中图片列的名称

function sfShowJpgFromTalbe(Query:TAdoQuery;PhotoFieldName:String;Image:TImage):boolean;
var
    jpg :TJpegImage;
    bs  :TStream;
    sImgFile:String;
begin
 Result:=False;
 jpg := TJpegImage.Create;
 try
  IF Query.Active and (Query.RecordCount >0) then
  begin
    bs := Query.CreateBlobStream(Query.FieldByName(PhotoFieldName),bmRead);
    Image.Picture.Assign(nil);
    if (bs.Size > 0) then
     begin
      jpg.LoadFromStream(bs);
      Image.Picture.Assign(jpg);
     end else
     begin
       sImgFile:='../Image/NoPhoto.jpg';
       if FileExists(sImgFile)
       then image.Picture.LoadFromFile(sImgFile);
     end;
     bs.Free;
     Result:=True;
  end else
   begin
    sImgFile:='../Image/NoPhoto.jpg';
    if FileExists(sImgFile)
    then image.Picture.LoadFromFile(sImgFile)
    else image.Picture.Assign(nil);
   end;
 except
  //MessageDlg('错误','不是JPG文件!',mtError,[mbOk],0);
  jpg.Free;
  Exit;
 end;
 jpg.Free;
end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值