请问各位高手,我应该如何把BMP的位图保存到SQLServer的数据库中呢?
是要用流进行保存吗?具体的实现方法是什么呀?
最好能给一个具体一些的代码,谢谢了!
如果要用到外部函数,别忘记告诉所引用的单元,拜托了!!!

解决方案 »

  1.   

    TBlobField(Table1.FieldByName('bmp')).LoadFromFile('c:\abc.bmp');
      

  2.   

    TGraphicField(DataSet.FieldByName('图片字段')).LoadFromFile('c:\a.bmp');
      

  3.   

    保留bmp图片的地址就可以了。用的时候loadfromfile();
      

  4.   

    我再问大家一下
    我该如何从数据库中取出BMP的图片呢?
    谢了
    解决之后马上结帐
      

  5.   

    function Tform1.imagesavetosql(dataset:TCustomADODataSet;zdxh:integer):boolean;
    {
    ////////////////////图片信息存入SQL数据库///////////////////////////
    ///////输入参数: 1.dataset 数据集控件名  2.zdxh 字段序号(integer)
    ///////输出参数: 无  结果成功返回true
    ///////涵数功能: 把bmp,jpg,ico类型的图片数据存入sql中的image字段
    ///////autor: xgy
    ///////完成时间: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;
      

  6.   

    http://218.56.11.178:8020/web/index.aspx->下载基地->例程-数据库/报表->数据库存储bmp/jpg图片(sql server)