我想一幅JPG图片保存到BLOB字段中,但不知道我的代码错在哪里?JPG图片根本就没有保存进BLOB字段里!运行到下面这句时提示 "Jpeg error #50",保存的图片仍然是一片空白. tblobfield(table1.FieldByName('photo')).LoadFromStream(tmp);
procedure TForm1.Button2Click(Sender: TObject);
var
  tmp: tmemorystream;
  tmpjpg: tjpegimage;
begin
  tmp:=TmemoryStream.Create;
  tmpjpg:=tjpegimage.create;
  tmpjpg.LoadFromfile(openpicturedialog1.filename);
  tmpjpg.savetostream(tmp);
  tmp.seek(0,0);
  table1.Edit;
  tblobfield(table1.FieldByName('photo')).LoadFromStream(tmp);//这里出错
  tmpjpg.free;
  tmp.Free;
end;

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      tmp: tmemorystream;
      tmpjpg: tjpegimage;
    begin
      tmp:=TmemoryStream.Create;
      tmpjpg:=tjpegimage.create;
      tmpjpg.LoadFromfile(openpicturedialog1.filename);
      tmpjpg.savetostream(tmp);
      //tmp.seek(0,0);不需要
      table1.Edit;
      tblobfield(table1.FieldByName('photo')).LoadFromStream(tmp);//这里出错
      tmpjpg.free;
      tmp.Free;
    end;
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      tmp: tmemorystream;
    begin
      tmp:=TmemoryStream.Create;
      tmp.loadfromfile(openpicturedialog1.filename);
      table1.Edit;
      tblobfield(table1.FieldByName('photo')).LoadFromStream(tmp);//这里出错
      tmp.Free;
    end;
      

  3.   

    连上数据库,用cxDBImage设置相应字段即可。
      

  4.   

    cxDBImage.Picture.LoadFromFile(openpicturedialog1.filename)