存图像时不出错,取图像时出错,说没有定义LoadFromStream,这段代码也是抄来了
不知应该怎么改
//存图像,
ADOTable.Edit;
TBlobField(ADOTable.FieldByName('PIC')).LoadFromFile('D:\1.bmp');
ADOTable.Post;
//取图像
var MemStrm:TMemoryStream;
begin
  MemStrm:=TMemoryStream.Create;
  try
    TBlobField(ADOTable1.FieldByName('PIC')).SaveToStream(MemStrm);
    MemStrm.Position:=0;
    Image1.Picture.LoadFromStream(MemStrm);//出错位置
  finally
    MemStrm.Free;
  end;
end;

解决方案 »

  1.   

    存到数据库
    var
    pjpg:tjpegimage;
    pic:TMemoryStream;
    begin
    pjpg:=tjpegimage.Create;
    pjpg.LoadFromFile(F:\JPG.jpg);
    pic:=TMemoryStream.Create;
    pjpg.SaveToStream(pic);
    pic.Position:=0;
    TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
    dataset.post;
    pic.Free;
    pjpg.free;
    end;
    从数据库取出
    var
    pjpg:tjpegimage;
    pic:TMemoryStream;
    begin
    pjpg:=tjpegimage.Create;
    pic:=TMemoryStream.Create;
    TBlobField(dataset.FieldByName('Img')).savetoStream(pic);
    pic.positon:=0;
    pjpeg.LoadFromStream(pic);
    image.graphi.bmp.assign(pjpeg);
    end;end;
      

  2.   

    兄弟,上面的代码image.graphi.bmp.assign(pjpeg);通不过,说没有定义graphi
      

  3.   

    其实直接使用Assign就可以了啊,取图象没必要再跑到Stream里面去绕个大圈子。
      

  4.   

    Image1.Picture.Bitmap.LoadFromStream(MemStrm);//