各位前辈:
   我在开发中,发现在Access数据库与Paradox数据表存入图片时,只能存入BMP格式的图片,但存入JPG格式、GIF格式的图片,就会报告"Bitmap image is not valid"的错误消息,无论我用Access的字段类型为OLE对象还是Paradox的Graphic、OLE、Binary类型,都会一样报错,请各位帮忙,万分感激!!                                                                jackyrong

解决方案 »

  1.   

    我用access存入jpg图片怎么挺好的,用ole,代码如下:
    with adotable1 do begin
     open;
     insert;
     (FieldByName('picture') as TBlobField).LoadFromFile(FileName);
      post;
    end;
    filename为jpg图片所在的地址
      

  2.   

    存到数据库
    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;