解决方案 »

  1.   

    现读取,在显示。。按照Bmp格式来做
      

  2.   

     从数据库取出图片的BLOB数据的目的之一是要保存为
    文件形式,可以继续利用Stream对象来实现,这是一个非常好
    的方法,只要两条简单的语句就可以实现。它是将图片文件存
    入数据库的逆过程。
    pStm2>Write ( _ variant_ t (MyCnt2> GetFields ( ) 2> GetItem ( " Pic2ture" ) 2>Value) ) ; / /把Picture字段的内容写入pStm
    pStm2> SaveToFile ( " c: \ \publogo. jpg" , adSaveCreateOverWrite) ;/ /保存为文件
    pStm2>Close ( ) ; / /关闭流
     数据库中图片保存为变量
    从BLOB字段中取出图片的另外一个目的,即主要目的,
    就是把图片显示出来。根据前面显示程序的要求,这时只需要
    把BLOB字段中的图片内容取出,保存在一个_variant_ t变量
    中,然后就可以调用ShowPic函数进行显示了。因此这时利用
    Stream对象就不如使用Fields对象的Getchunk方法方便,因为
    Getchunk方法可以不用任何转换,直接从BLOB字段中获得有
    关数据,并保存在_variant_t变量varBLOB。参考代码如下:
    _variant_t varBLOB;
    long nsize = MyCnt2> GetFields( ) 2> GetItem ( " Picture" ) 2>Actual2
    Size;
    if ( nsize > 0)
    {
     varBLOB = MyCnt2> GetFields ( ) 2> GetItem ( " Picture " ) 2>
    GetChunk ( nsize) ;
     … / /开始显示
    }
    开始显示就用StretchDIBits函数往你显示的DC上画吧
      

  3.   

    可以用CBitmap的SetBitmapBits来复原数据
      

  4.   

    全二进制用CFile读出来然后保存带bmp后缀文件即可
      

  5.   

    这个函数怎么用。
    另外怎么提取数据库中的二进制数据,我用GetFieldValue提取并赋值到编辑框时,可以运行,但编辑框什么东西都没显示。这是怎么回事?
      

  6.   

    我也是弄这个弄了好久了,我的是将图片以二进制存到了SQL SERVER 2012中,现在我想用MFC中的Picture Control显示出来,弄了好久都没成TAT