procedure TProduct.SelPhoto(Sender: TObject);
var
  stream:TMemoryStream;
  jpg: TJPEGImage;
  bmp: TBitmap;
begin
  stream := TMemoryStream.Create;
  jpg := TJPEGImage.Create;
  bmp := TBitmap.Create;
  if dlgOpenPic.Execute then
  try
    jpg.LoadFromFile(dlgOpenPic.FileName);
    bmp.Assign(jpg);
    bmp.SaveToStream(stream);
    stream.Position :=0;
    if Sender is TDBImage then
      TBlobField((Sender as TDBImage).Field.DataSet.FieldByName((Sender as TDBImage).DataField)).LoadFromStream(stream);//运行到这里就提示非法内存访问,但是找不到原因!
      finally
    stream.Free;
    bmp.Free;
    jpg.Free;
  end;
end;这个函数实现的功能是像SQL数据库服务器中保存图片。
请各位朋友帮帮忙,我实在找不到错在那里 TDBImage已经创建 DataSet也已经打开,可是提示非法内存访问让人纳闷!