我用ADO来连接数据库,在程序里对图像数据采取的都是对图像二进制的操作,但我在access的表视图中为什么不能直接插入二进制的图像数据呢?
   只能插入直接的对象,插入完之后在相应的表格框中显示的是一个“包”字,而不是“长二进制数据”,此时在程序中便不能显示图像????????
在线……………………………………

解决方案 »

  1.   

    access可能并不支持这些...
    一般就用ADO+blob读写二进制文件数据
      

  2.   

    access里面可以直接插入ole对象,就把图片添加进去了。
    在SQl里面可以这样做:
    _StreamPtr  pStm;
             pStm.CreateInstance("ADODB.Stream");
             variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
          //   long lDataSize = m_pRecordset->GetFields()->GetItem("photo")->ActualSize;
             pStm->PutType(adTypeBinary;        pStm->Open( varOptional,  
                         adModeUnknown, adOpenStreamUnspecified, _bstr_t(), _bstr_t());
             pStm->LoadFromFile("c:\\book.gif");//读入文件
             variant_t  varBLOB=pStm->Read(adReadAll);
           m_pRecordset->GetFields()->GetItem("photo")->Value= varBLOB;//保存到数据集对象。
    你可以试一下在access里面行不行。