我机器上原来的是ado2.0版本,在下面这个网址下了好像是ado2.7吧,升级
http://download.microsoft.com/download/dasdk/Install/2.70/W98NT42KMe/CN/mdac_typ.exe升级后在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess查看Version仍是2.0.0
我不确定是否升级成功。然后下面这段代码老有问题
_variant_t varBLOB;
_Stream pStm;//???????????????????????????????
pStm.CreateInstance("ADODB.Stream");
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
pStm->PutType(adTypeBinary);//类型为二进制文件
CString strFilePathName;
CFileDialog dlg(TRUE,NULL,NULL,0,"jpg Files(*.jpg)|*.jpg|All Files(*.*)|*.*||",this);
//TRUE为OPEN对话框, FALSE为 SAVE AS对话框
if (dlg.DoModal()==IDOK)//显示打开文件对话框
{
pDoc->m_AdoRec.AddNew();
strFilePathName=dlg.GetPathName();//
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
pStm->Open(varOptional,adModeUnknown,adOpenUnspecified,_bstr_t(),_bstr_t());//创建一个Stream对象
pStm->LoadFromFile(_bstr_t(strFilePathName));//把文件载入Stream对象
varBLOB=pStm->Read(adReadAll);//从Stream对象读出指定数目的字节
//输入数据至VARIANT变量,以备显示用
pDoc->m_AdoRec.GetFields()->GetItem("ImageData")->Value=varBLOB;//二进制数据给字段ImageData
pDoc->m_AdoRec.PutCollect("FileName",(_variant_t)strFilePathName);//保存到数据集对象
pDoc->m_AdoRec.Update();
}
//??????????????????????????????? 处
提示错误error C2259: '_Stream' : cannot instantiate abstract class due to following members:请问大侠们,究竟是ado没升级成功还是程序有问题,求解大家,谢谢啦。
http://download.microsoft.com/download/dasdk/Install/2.70/W98NT42KMe/CN/mdac_typ.exe升级后在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess查看Version仍是2.0.0
我不确定是否升级成功。然后下面这段代码老有问题
_variant_t varBLOB;
_Stream pStm;//???????????????????????????????
pStm.CreateInstance("ADODB.Stream");
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
pStm->PutType(adTypeBinary);//类型为二进制文件
CString strFilePathName;
CFileDialog dlg(TRUE,NULL,NULL,0,"jpg Files(*.jpg)|*.jpg|All Files(*.*)|*.*||",this);
//TRUE为OPEN对话框, FALSE为 SAVE AS对话框
if (dlg.DoModal()==IDOK)//显示打开文件对话框
{
pDoc->m_AdoRec.AddNew();
strFilePathName=dlg.GetPathName();//
_variant_t varOptional(DISP_E_PARAMNOTFOUND,VT_ERROR);
pStm->Open(varOptional,adModeUnknown,adOpenUnspecified,_bstr_t(),_bstr_t());//创建一个Stream对象
pStm->LoadFromFile(_bstr_t(strFilePathName));//把文件载入Stream对象
varBLOB=pStm->Read(adReadAll);//从Stream对象读出指定数目的字节
//输入数据至VARIANT变量,以备显示用
pDoc->m_AdoRec.GetFields()->GetItem("ImageData")->Value=varBLOB;//二进制数据给字段ImageData
pDoc->m_AdoRec.PutCollect("FileName",(_variant_t)strFilePathName);//保存到数据集对象
pDoc->m_AdoRec.Update();
}
//??????????????????????????????? 处
提示错误error C2259: '_Stream' : cannot instantiate abstract class due to following members:请问大侠们,究竟是ado没升级成功还是程序有问题,求解大家,谢谢啦。
解决方案 »
- delete []m_pRawBuffer; 着是什么意思?
- 链表结点插入的“内存不足”问题,贴出程序求救
- Software\\Microsoft\\Windows\\CurrentVersion\\Run下的 什么时候自启动,
- TRACE窗口不断刷出 “Warning: skipping non-radio button in group.”,why?
- 我想做个投票器,请问应该从哪些地方下手?
- 从文件中读出图片!!!!!求助
- 在MFC中调用CoInitializeEx()出错,郁闷中,达人快来帮忙~~~~
- 再问一个数据库的问题
- 像OutLook中,那种黄色的便签是如何做的?
- 关于数组的一个问题
- VC++ 一个关于excel的问题,
- 真心求给我个LoadLibrary的小例子,并告诉我下面为什么用的不对,谢谢
改成
HRESULT hr;
_StreamPtr pStream;
hr = pStream.CreateInstance(__uuidof(Stream));