……
    if (fieldbyname('photo') as tblobfield).blobsize>0 then begin
      image1.Picture.bitmap.assign(fieldbyname('photo') as tblobfield);//出错位置!
    end
    else
      image1.Picture.assign(nil);
    end;
    ……出错提示
EinvalidGraphic with message "Bitmap image is not valid'

解决方案 »

  1.   


    我的图片保存程序:
    image1.Picture.LoadFromFile('');
      if OpenDialog1.Execute then
      begin
        filename:=extractfileext(OpenDialog1.FileName);
        image1.Picture.LoadFromFile(OpenDialog1.FileName);
        MS_JpegStream:=TMemoryStream.Create;
        M_BitMap:=TBitMap.Create;
        M_Jpeg:=TJpegImage.Create;
        if (filename='.bmp') or (filename='.BMP') then
        begin
          M_BitMap.LoadFromFile(OpenDialog1.FileName);
          M_Jpeg.Compress;
          M_Jpeg.Assign(M_BitMap);
        end
        else if (filename='.jpg') or (filename='.JPG') then
        begin
          M_Jpeg.LoadFromFile(OpenDialog1.FileName);
        end;
        M_Jpeg.SaveToStream(MS_JpegStream);存入数据库
        SQL.Add('update cby set ');
        SQL.Add('photo=(:photo)');
        Parameters.ParamByName('photo').LoadFromStream(MS_JpegStream,ftblob);
        sql.add(' where id='+inttostr(p^));
        ExecSQL;