我程序是用Ado方式操作数据库。
Access2000中的jpg文件格式,怎么读入到DBImage中呢?还有,如何才能将图片写到Access2000中呢?

解决方案 »

  1.   

    dbImage好象不支持Jpg,所以, 直接用個image控件, 然後解碼顯示到image上, 其實也很簡單的事情!!!
      

  2.   

    在ACCESS2000下DELPHI6.0中DBIMAGE支持JPG.你建表时把字段类型该为OLE.关键是你怎么样存入进去:
    给你一个通用涵数:
    function Tform1.imagesavetosql(dataset:TCustomADODataSet;zdxh:integer):boolean;
    {
    ////////////////////图片信息存入SQL数据库///////////////////////////
    ///////输入参数: 1.dataset 数据集控件名  2.zdxh 字段序号(integer)
    ///////输出参数: 无  结果成功返回true
    ///////涵数功能: 把bmp,jpg,ico类型的图片数据存入sql中的image字段
    ///////autor: coolfilm
    ///////完成时间:2003-07-15
    ///////最后修改时间:2003-07-15
    ////////////////////////////////////////////////////////////////////
    }
    var
      imagebmp:Timage;  //bmp图片
      imagejpg:Tjpegimage; //jpg图片
      imageico:Ticon;  //ico图片
      zhbl:Tbitmap;    //ico到bmp的转化变量
      lx:string;       //图片类型
      picdialog:Topenpicturedialog;//自定义对话框
      image:Timage; //自定义图片控件
    begin
      imagebmp:=Timage.Create(nil);
      imagejpg:=Tjpegimage.Create;
      imageico:=Ticon.Create;
      zhbl:=Tbitmap.Create;
      image:=Timage.Create(nil);
      picdialog:=Topenpicturedialog.Create(nil);
      picdialog.InitialDir:=extractfilepath(Application.ExeName);
      picdialog.Title:='请选择要保存的图片';
      if picdialog.execute then
      begin
      image.Picture.LoadFromFile(picdialog.FileName);
      image.Hint:=picdialog.FileName;
      image.showhint:=true;
      end;
      if image.Hint<>'' then
      begin
         lx:=ExtractFileExt(image.Hint);
         if (lx='.bmp') or (lx='.BMP') then
         begin
         imagebmp.Picture.Bitmap.LoadFromFile(image.Hint);
         end;
         if (lx='.jpg') or (lx='.JPG') then
         begin
         imagejpg.LoadFromFile(image.Hint);
         imagebmp.Picture.Bitmap.Assign(imagejpg);
         end;
         if (lx='.ico') or (lx='.ICO') then
         begin
         imageico.LoadFromFile(image.Hint);
         zhbl.Width:=imageico.Width;
         zhbl.Height:=imageico.Height;
         zhbl.canvas.Draw(0,0,imageico);
         end;
      end;
      try
      if (lx='.ico') or (lx='.ICO') then
      begin
      dataset.Fields[zdxh].Assign(zhbl);
      end
      else
      begin
      dataset.Fields[zdxh].Assign(imagebmp.Picture);
      end;
      result:=true;
      finally
      imagebmp.Free;
      imagejpg.Free;
      imageico.Free;
      zhbl.Free;
      picdialog.Free;
      image.Free;
      end;
    end;
      

  3.   

    看看这个:http://218.56.11.178:8020/web/index.aspx -》下载基地-》例程-数据库/报表-》数据库图片bmp/jpg存储(Accsee)
      

  4.   

    就按jpyc兄的吧!呵呵……jpyc兄,好久不见,最近好吗??