存:var
  M:TMemoryStream;   if Image1.Picture.Bitmap = nil  then  exit;
  M := TMemoryStream.Create;
  Image1.Picture.Graphic.SaveToStream(M);
  .. 
  q1.parameters[2].LoadFromStream(M,ftBlob);//照片
  execsql;
  M.Free;
取:
    mStream:=TMemoryStream.Create;
    JpgFile:=TJPEGImage.Create;
    TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
    try
      mStream.Position :=0;
      JpgFile.LoadFromStream(MStream);
      image1.Picture.Assign(JpgFile);
    except
      begin
        TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
        mStream.Position :=0;
        image1.Picture.Bitmap.LoadFromStream(MStream);      
      end;
    end;
    mStream.Free;

解决方案 »

  1.   

    存: 
    var
      M:TMemoryStream;  if Image1.Picture.Bitmap.Empty then  exit;
      M := TMemoryStream.Create;
      try
        Image1.Picture.Graphic.SaveToStream(M);
        ..
        q1.parameters[2].LoadFromStream(M,ftBlob);//照片
        execsql;
      finally
        M.Free; 
      end;取:
       
        mStream:=TMemoryStream.Create;
        try
          TBlobField(FieldByName('hy_zp')).SaveToStream(mStream);
          mStream.Position :=0;
          image1.Picture.Bitmap.LoadFromStream(MStream);        
        finally
          mStream.Free;
        end;
      

  2.   

    1楼的方法可不可以用在Access上的啊?
      

  3.   


    //LZ代码有问题
    //在取的图片为JPEG的格式时,应该这样
    use
      JPEG;
    var
      Mem: TMemoryStream;
      MyJPEG:TJPEGImage;
    begin
      Mem:= TMemoryStream.Create;
      MyJPEG:=TJPEGImage.Create;
      try
       //打开结果集
        TBlobField(adoquery1.FieldByName('picture')).SaveToStream(Mem);
        Mem.Position := 0;
        MyJPEG.LoadFromStream(Mem);
        Image1.Picture.Graphic:=MyJPEG;
      finally
        Mem.Free;
        MyJPEG.free;
      end;
    原因:见VCL
    procedure TPicture.LoadFromStream(Stream: TStream);
    begin
      Bitmap.LoadFromStream(Stream);//默认是以位图的形式打开
    end;
      

  4.   

    //我推测LZ应该是对JPEG格式图片的存取,如果不是,以上回复请略过
    //存的时候也不对 if Image1.Picture.Bitmap = nil  then  exit; --> if Image1.Picture.Graphic = nil  then  exit;
      

  5.   

    看您用存什麽格式圖片,用流也可以,數據庫字段最好用image,