如果你是在ACCESS中存的图片想在DELPHI中读出来的话,请确认
AStream.Seek(78,  soFromBeginning);
中跳过78字节是否正确,不同的ACCESS版本是否一样,方法是把全部Stream存成一个文件,用UltraEdit打开,再对比你存进去的BMP图,看是否只是多出78个字节.

解决方案 »

  1.   

    procedure TForm1.ADOQuery1AfterScroll(DataSet: TDataSet);
    var
       tempStream:TMemoryStream;
    begin
    tempStream:=TMemoryStream.Create; // 创建内存流
    tempStream.clear; 
    if ADOQuery1.FieldByName('F_Photo').Value<>NULL then  //如果该字段不为空,则显示图片
      begin
        { 将表中的图片先存到流中 }
        try
          TBlobField(ADOQuery1.FieldByName('F_Photo')).SaveToStream(tempStream);
          { 将流加载到控件中  }
          DBImage1.Picture.Bitmap.LoadFromStream(tempStream);
        finally
          tempStream.Free;
        end;     
      end;end;
      

  2.   

    为什么不能用adodataset?????我试过,可是总在 Picture.Bitmap.LoadFromStream(tempStream);
    中出错????!!!!!!我的代码中已经写了