各位高手,我想将一幅图片存储到SQLSERVER中去,我编了一段代码,截取如下:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  g1 : TBitMap;
begin
   g1 := TBitMap.Create;
   g1.LoadFromFile('E:\16.bmp');   ADODataSet1.Insert;
   ADODataSet1.FieldByName('PIC').Assign(g1);
   ADODataSet1.Post;   g1.Free;
end;我数据库里面的PIC字段是IMAGE型的,程序没有报错,插入后,数据表里面显示为<Binary>.
我不知道这样存储图片到数据库中是否正确??好像我感觉没有存进去,能有什么方法从数据库里面再把这图取出来吗??请高手指教,如果高手觉得我的方法有问题,能告诉我正确的解决方法好吗?谢谢!

解决方案 »

  1.   

    放一个IMAGE控件,就可以了
    你的保存方法是正确的
      

  2.   

    Image1.Picture.Bitmap.Assign(TBLOBField(ClientDataSet1.Fields[1]))
      

  3.   

    对, 你用一个image显示一下就知道是否正确了..
      

  4.   

    你使用数据控件adotable,dbimage,把里面的数据读出来显示不就可以了!
      

  5.   

    如果还要考虑到图片的格式,建议载一个ImageEn控件包,在delphi园地有。
      

  6.   

    谢谢大家的关心,我现在试过了,可以存储的,不过是BMP文件,那我要存储PNG格式的图片该怎么办呢?以下这种方法可以吗??该怎样改呢??procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      g1 : TBitMap;
    begin
       g1 := TBitMap.Create;
       g1.LoadFromFile('E:\16.bmp');   ADODataSet1.Insert;
       ADODataSet1.FieldByName('PIC').Assign(g1);
       ADODataSet1.Post;   g1.Free;
    end;那个ImageEn我以前没有用过,能往数据库里面存储图片吗?
      

  7.   

    我现在用一下过程试图实现在数据库中存储PNG格式的图片,可是不行,大家看看,有没有正确的方法!procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      g1 : TPicture;
    begin
       g1 := TPicture.Create;
       g1.LoadFromFile('E:\1.png');   ADODataSet1.Insert;
       ADODataSet1.FieldByName('PIC').Assign(g1);
       ADODataSet1.Post;   g1.Free;
    end;难道PNG和BMP格式在处理方式上面不一样?大家看看啊!谢谢!