0x00000000处未处理的异常 0xc0000005 读取位置0x00000000时发生访问冲突

时间:2022-02-13 10:45:41
程序编译没有问题,运行时候报错,通过断点调试,程序在运行到红色位置,会报 0x5feb1a64 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突。附上报错代码,请各位帮忙看看,谢谢
int iRet = SDK_FAIL;
g_CtrlMap.clear();
    CASC_SDK_CTRLCENTER tempCtrl;
try
{
   if(m_pdb !=NULL)
   {
//获取父节点
   ResultSet* rset = m_pdb->ExecuteQuery("select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info t where ID = 1");
   
 while  (rset->next())
   {
   tempCtrl.iCtrlId=  rset->getInt(1);
   tempCtrl.iParentId = rset->getInt(2);
   col4.clear();
   col3.clear();
   }

11 个解决方案

#1


Debug下调试单步看看是不是返回的指针为NULL了?

#2


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?
返回的是,rset = 0x00000000,然后点击发现“__vfptr = CXX0030: 错误: 无法计算表达式的值”

#3


你先验证一下你的SQL语句对不?

#4


引用 2 楼 cwt19902010 的回复:
Quote: 引用 1 楼 VisualEleven 的回复:

Debug下调试单步看看是不是返回的指针为NULL了?


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?
返回的是,rset = 0x00000000,然后点击发现“__vfptr = CXX0030: 错误: 无法计算表达式的值”
问题出在while  (rset->next()),运行到这里报错的。

#5


"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊

#6


应该是SQL语句

#7


引用 5 楼 swwllx 的回复:
"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。

#8


sql语句有问题吧pt_org_info t这里是不是应该又个逗号pt_org_info, t

#9


引用 7 楼 cwt19902010 的回复:
Quote: 引用 5 楼 swwllx 的回复:

"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。
你看看你执行了SQL查询后 你的变量的值就知道了  自己在数据库里面查下就知道结果对不对了撒

#10


引用 9 楼 swwllx 的回复:
Quote: 引用 7 楼 cwt19902010 的回复:

Quote: 引用 5 楼 swwllx 的回复:

"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。
你看看你执行了SQL查询后 你的变量的值就知道了  自己在数据库里面查下就知道结果对不对了撒
恩,不是这条语句,确实是数据库的问题,今天连接正常了,程序就可以了,谢谢你了,以后还得多多学习。

#11


引用 8 楼 xianglitian 的回复:
sql语句有问题吧pt_org_info t这里是不是应该又个逗号pt_org_info, t
确实是数据库的问题,语句没错,可能是连接问题把,谢谢版主了

#1


Debug下调试单步看看是不是返回的指针为NULL了?

#2


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?
返回的是,rset = 0x00000000,然后点击发现“__vfptr = CXX0030: 错误: 无法计算表达式的值”

#3


你先验证一下你的SQL语句对不?

#4


引用 2 楼 cwt19902010 的回复:
Quote: 引用 1 楼 VisualEleven 的回复:

Debug下调试单步看看是不是返回的指针为NULL了?


引用 1 楼 VisualEleven 的回复:
Debug下调试单步看看是不是返回的指针为NULL了?
返回的是,rset = 0x00000000,然后点击发现“__vfptr = CXX0030: 错误: 无法计算表达式的值”
问题出在while  (rset->next()),运行到这里报错的。

#5


"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊

#6


应该是SQL语句

#7


引用 5 楼 swwllx 的回复:
"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。

#8


sql语句有问题吧pt_org_info t这里是不是应该又个逗号pt_org_info, t

#9


引用 7 楼 cwt19902010 的回复:
Quote: 引用 5 楼 swwllx 的回复:

"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。
你看看你执行了SQL查询后 你的变量的值就知道了  自己在数据库里面查下就知道结果对不对了撒

#10


引用 9 楼 swwllx 的回复:
Quote: 引用 7 楼 cwt19902010 的回复:

Quote: 引用 5 楼 swwllx 的回复:

"select ID,PAR_ID,ORG_CODE,ORG_NAME from pt_org_info  t where ID = 1" 这个是不是多了个t啊
不是这个原因,t是table的别名,我再看看,谢谢先。
你看看你执行了SQL查询后 你的变量的值就知道了  自己在数据库里面查下就知道结果对不对了撒
恩,不是这条语句,确实是数据库的问题,今天连接正常了,程序就可以了,谢谢你了,以后还得多多学习。

#11


引用 8 楼 xianglitian 的回复:
sql语句有问题吧pt_org_info t这里是不是应该又个逗号pt_org_info, t
确实是数据库的问题,语句没错,可能是连接问题把,谢谢版主了