我用ADO来连接数据库,在程序里对图像数据采取的都是对图像二进制的操作,但我在access的表视图中为什么不能直接插入二进制的图像数据呢?
只能插入直接的对象,插入完之后在相应的表格框中显示的是一个“包”字,而不是“长二进制数据”,此时在程序中便不能显示图像????????
在线……………………………………
只能插入直接的对象,插入完之后在相应的表格框中显示的是一个“包”字,而不是“长二进制数据”,此时在程序中便不能显示图像????????
在线……………………………………
调试欢乐多
一般就用ADO+blob读写二进制文件数据
在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里面行不行。