初始化ADO报错,一个奇怪的问题

BaoYu 2013-03-13 08:29:17
CoInitialize(NULL);
m_pRecordset.CreateInstance("ADODB.Recordset");
#ifdef _DEBUG
if (m_pRecordset == NULL)
{
AfxMessageBox(_T("RecordSet 对象创建失败! 请确认是否初始化了COM环境."));
}
#endif
ASSERT(m_pRecordset != NULL);

这个段代码在XP上报错。直接弹出我的提示信息:"RecordSet 对象创建失败! 请确认是否初始化了COM环境."
可是运行在Win7上,就OK。我的编译环境是vs2012,各位有谁遇到这情况啊???
...全文
211 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
BaoYu 2013-09-07
  • 打赏
  • 举报
回复
1、安装 Pack1 2、生成模式改成 xp 兼容,就OK了
BaoYu 2013-03-13
  • 打赏
  • 举报
回复
试过了。不行的。 原因是微软。已经做出说明了。
BaoYu 2013-03-13
  • 打赏
  • 举报
回复
找到原因了: 在Windows 7 SP 1 或 Windows Server 2008 R2 SP 1 或者安装了 KB983246补丁的机子上编译的ADO应用程序,不能运行在低级别的操作系统
hdg3707 2013-03-13
  • 打赏
  • 举报
回复
CoInitialize(NULL); 这句加在荛里的APP类里的初始化函里试试,就是APP类里的Init...的函数
BaoYu 2013-03-13
  • 打赏
  • 举报
回复
同样的代码,以前在vc6时,一样编译过,一样使用,XP 2003 ,都没问题 痛苦...
BaoYu 2013-03-13
  • 打赏
  • 举报
回复
我的 编译环境有装VS2012 SQL2012 系统 是Win7 64,编译的是 32位程序。可是这个32位的程序,在其它的 32位Win7上,XP上,都能不正常建立 ADO对像。晕,什么情况
BaoYu 2013-03-13
  • 打赏
  • 举报
回复
CoInitialize 是正常返回 S_OK

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧