access数据库,0xC0000005: 读取位置 0xe38e38e4 时发生访问冲突

void CdatabaseDlg::OnBnClickedSelect()
{
// TODO: 在此添加控件通知处理程序代码

    int i = 0;

// m_list.DeleteAllItems();
cmd.OnInitDialog();
UpdateData(true);
// CRect rect;
// 获取编程语言列表视图控件的位置和大小

// m_list.GetClientRect(&rect);
// 为列表视图控件添加全行选中和栅格风格

// m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
// m_list.InsertColumn(0, T("城市"), LVCFMT_LEFT, rect.Width() / 3);
// m_list.InsertColumn(1, _T("区县"), LVCFMT_LEFT, rect.Width() / 3);
// m_list.InsertColumn(2, _T("邮编"), LVCFMT_LEFT, rect.Width() / 3);
{
try
{
_variant_t RecordsAffected;
cmd.m_pRecordset.CreateInstance(
_uuidof(Recordset));//初始化Recordset指针

        CString search_sql;
        search_sql = "SELECT * FROM 监视和测量设备";
        cmd.m_pRecordset = cmd.m_pConnection->Execute(search_sql.AllocSysString(), NULL, adCmdText);

        while (!cmd.m_pRecordset->adoEOF)
        {

            CString name,department,user,category,number,number1,model,number2,category1,importance,oldpany;
            CString newpany,cost,date,date1,date2,number3,factory,test,grade,result,state,state1,no,information,date3;
//          CString chooseid;
//          CString choosevalue;
            name = cmd.m_pRecordset->GetCollect("name").bstrVal;
            m_list.InsertItem(i, name);
            department = cmd.m_pRecordset->GetCollect("part").bstrVal;
            m_list.SetItemText(i, 1, department);
            user = cmd.m_pRecordset->GetCollect("user").bstrVal;
            m_list.SetItemText(i, 2, user);
            category = cmd.m_pRecordset->GetCollect("category").bstrVal;
            m_list.SetItemText(i, 3, category);
            number = cmd.m_pRecordset->GetCollect("number").bstrVal;
            m_list.SetItemText(i, 4, number);
            number1 = cmd.m_pRecordset->GetCollect("number1").bstrVal;
            m_list.SetItemText(i, 5, number1);
            model = cmd.m_pRecordset->GetCollect("model").bstrVal;
            m_list.SetItemText(i, 6, model);
            number2 = cmd.m_pRecordset->GetCollect("number2").bstrVal;
            m_list.SetItemText(i, 7, number2);
            category1 = cmd.m_pRecordset->GetCollect("category1").bstrVal;
            m_list.SetItemText(i, 8, category1);
            importance = cmd.m_pRecordset->GetCollect("importance").bstrVal;
            m_list.SetItemText(i, 9, importance);
            oldpany = cmd.m_pRecordset->GetCollect("oldpany").bstrVal;
            m_list.SetItemText(i, 10, oldpany);
            newpany = cmd.m_pRecordset->GetCollect("newpany").bstrVal;
            m_list.SetItemText(i, 11, newpany);
            cost = cmd.m_pRecordset->GetCollect("cost").bstrVal;
            m_list.SetItemText(i, 12, cost);
            date = cmd.m_pRecordset->GetCollect("date").bstrVal;
            m_list.SetItemText(i, 13, date);
            date1 = cmd.m_pRecordset->GetCollect("date1").bstrVal;
            m_list.SetItemText(i, 14, date1);
            date2 = cmd.m_pRecordset->GetCollect("date2").bstrVal;
            m_list.SetItemText(i, 15, date2);
            number3 = cmd.m_pRecordset->GetCollect("number3").bstrVal;
            m_list.SetItemText(i, 16, number3);
            factory = cmd.m_pRecordset->GetCollect("factory").bstrVal;
            m_list.SetItemText(i, 17, factory);
            test = cmd.m_pRecordset->GetCollect("test").bstrVal;
            m_list.SetItemText(i, 18, test);
            grade = cmd.m_pRecordset->GetCollect("grade").bstrVal;
            m_list.SetItemText(i, 19, grade);
            result = cmd.m_pRecordset->GetCollect("result").bstrVal;
            m_list.SetItemText(i, 20, result);
            state = cmd.m_pRecordset->GetCollect("state").bstrVal;
            m_list.SetItemText(i, 21, state);
            state1 = cmd.m_pRecordset->GetCollect("state1").bstrVal;
            m_list.SetItemText(i, 22, state1);
            no = cmd.m_pRecordset->GetCollect("no").bstrVal;
            m_list.SetItemText(i, 23, no);
            information = cmd.m_pRecordset->GetCollect("information").bstrVal;
            m_list.SetItemText(i, 24, information);
            date3 = cmd.m_pRecordset->GetCollect("date3").bstrVal;
            m_list.SetItemText(i, 25, date3);
            cmd.m_pRecordset->MoveNext();
            i++;
        }
        cmd.m_pRecordset->Close();
    }
    catch (_com_error e)
    {
        AfxMessageBox(_T("搜索失败!"));
        return;
    }
}

}

执行到这date3 = cmd.m__pRecordset->GetCollect("date3").bstrVal;
再往下执行就报错,求大神指导,小白初学者

c++

1个回答

检查下date3这个字段是否存在、类型是不是字符串,是否为空,date3变量的定义

yxlin1987
yxlin1987 我数据库一共有500多行,26列,代码中我不遍历第26列的数据的话,执行到第42行,也会报同样的错误,只有遍历前11行的数据,才能不报错
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
MFC access数据库连接问题
1
安装完成Oracle之后,无法登录,不知道该如何配置,求助大佬
2
感觉插入函数错了 出现Unhandled exception in 1.exe: 0xC0000005: Access Violation
1
Access数据库如何复制一个表结构,连带约束(如索引、主键信息等)一带复制?谢谢了
1
紧急求助,java访问串口出现项目崩溃问题,求大神指导
3
VMware弹出: 不可恢复错误: (vcpu-0)+ Exception 0xc0000005 (access violation) has occurred.
2
VMware打开Ubuntu时显示错误Exception 0xc0000005 (access violation) has occurred.
1
utgard在使用异步(Async20Access)读取数据时,总是出错,我的邮箱:sangjingrui@163.com
0
java读取access数据库时,报错[Microsoft][ODBC 驱动程序管理器] 无效的字符串或缓冲区长度
1
需要从一个不断更新的access数据库提取它的数据到另个access数据库,字段名一样,但是有几个字段类型不一样,怎么破?
0
python 通过pypyodbc访问access数据库,提示“常见错误 无法打开注册表项”
1
java调用dll文件,调用失败# Problematic frame: # C [MSVCR100D.dll+0x7bbbc]
1
c3p0连接数据库一直出现Unable to acquire JDBC Connection
2
java连接SqlServer数据库的问题
1
批量迁移Access数据至SQL server。
2
.net 4.0 项目 连接mysql8.0.15 使用MySql.Data.dll 连接的时候报错
1
从同事能运行的eclipse导入到IDEA的项目配置过tomcat后报严重 [RMI TCP Connection(3)-127.0.0.1] 错误
4
为什么会出现这个异常 Access to the path 'D:\eeeee' is denied.”该怎么解决
2
安卓调用百度地图sdk,可是返回坐标值一直是4.9E-324
2
如何获取20W+微信公众号用户信息 ?