yxlin1987 2020-01-16 16:34 采纳率: 0%
浏览 178

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;
再往下执行就报错,求大神指导,小白初学者

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-01-16 21:08
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 怎么获取下面的: glove_word2id.json和 glove_numpy.npy 这两个文件
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug