我创建了一个与ACCESS数据库连接的程序。为什么在DELPHI中插入的图片在ACCESS中为长二进制类型无法打开,在ACCESS中插入的BMP图片,但是在DELPHI中又无法放到DBIMAGE控件中呢???各位高手请指教!!!谢谢 !!!

解决方案 »

  1.   

    DBIMAGE显示不出来?
    DATASOURCE和DATAFIELD都设置好了吗??还有字段中保存的图片完整吗?
      

  2.   

    设置好了啊!保存的应该是完整的,我插入过好多个图片,但是总是出现错误提示:‘BITMAP
    IMAGE IS NOT VAILD’提示!为什么呢???
      

  3.   

    保存的方式不对:
    给个例子:
    存:
    var
      JPEGImage:TJPEGImage;
    begin
      JPEGImage:=TJPEGImage.Create;   //创建JPEG图像对象
      try
        JPEGImage.LoadFromFile(lbl_filename.Caption);   //从文件中装载jpg图像,
        ADODataSet1.Append;
        ADODataSet1.FieldByName('文件名').Value:=extractfilename(lbl_filename.Caption);
        ADODataSet1.FieldByName('图像').Assign(JPEGImage);
        ADODataSet1.Post;
      finally
        JPEGImage.Free;               //释放对象
      end;取:
    var
      JPEG:TJPEGImage;
    begin
      if DataSource1.DataSet.FieldByName('图像').IsNull=false then
        begin
          JPEG:=TJPEGImage.Create;
          try
            JPEG.Assign(DataSource1.DataSet.FieldByName('图像'));
            Image1.Picture.Bitmap.Assign(JPEG);
          finally
            JPEG.Free;
          end;
        end
      else
          Image1.Picture.Bitmap.Assign(nil);