SOS ,必须看的问题,不看后悔终生!

jiva12 2003-08-21 05:37:14
我用 ADO 访问数据库时候, 出现错误:
Unhandled exception int Text.exe:0xc0000005 Access Violation!
用 F11 跟踪 ,发现 记录指针(就是_recordPtr)在 Open 时候就出错,进一步跟踪发现在如下代码处出错
inline _variant_t::_variant_t(IDispatch *pSrc,bool fAddref) throw()
{
V_VT(this) = VT_DISPATCH;
V_DISPATCH(this) = pSrc;
//下面就是出错语句
if (fAddRef) {
V_DISPATCH(this) ->AddRef();
}
这个错误应该很是容易犯的,请各位有经验的大哥告诉一声,一旦问题解决,必重谢100分
...全文
24 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
RomanticProgrammer 2003-08-22
  • 打赏
  • 举报
回复
现在一辈子不后悔了。
RomanticProgrammer 2003-08-22
  • 打赏
  • 举报
回复
CoInitilize();
gzshd 2003-08-22
  • 打赏
  • 举报
回复
初始化的效力一直可以到执行CoUninitialize();
jiva12 2003-08-22
  • 打赏
  • 举报
回复
那么 初始化 的效力有多长呢?
我是在主程序里放的 ado 的自定义包装类!
zheng017的问题,我跟踪过 在记录集 调用 open 的第二个参数有问题
竟然是 const ado::`vftable' 我也不知道是怎么回事,要知道就不请教了!
gzshd 2003-08-22
  • 打赏
  • 举报
回复
是不是COM没有初始化,用CoInitilize();
ZHENG017 2003-08-22
  • 打赏
  • 举报
回复
_recordsetptr->open时如果指定了_Connectionptr,请先检查_ConnectionPtr的值,否则就看你的连接数据库的字符串是否正确。记得先CoInitilize();
mahatma_cn 2003-08-21
  • 打赏
  • 举报
回复
人为错误
grey_whp 2003-08-21
  • 打赏
  • 举报
回复
你是需要try一下的,当你没有取道结果集的时候,该指针是没有获取初始化的内存地址的.
当没有结果的时候,该指针为空.
commandconque 2003-08-21
  • 打赏
  • 举报
回复
可能是连接数据源出错,
数据源未能正确的连接,可能服务器、网络故障
也可能,。。。总之你检查以下

4,011

社区成员

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

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