【求助】QT连接ACCESS出错

cll131421 2015-03-01 09:37:22
代码如下:
void ServerDataManager::ShowUserInfo()
{
const QSqlQuery *query;
query = m_pUserInfo->QueryUserInfo(NULL);
m_pQueryModel->setQuery(*query) ;
ui.tbv_userInfo->setModel(m_pQueryModel);
}

void ServerDataManager::ShowDeviceInfo()
{
const QSqlQuery *query;
query = m_pDeviceInfo->QueryDeviceInfo(NULL);
m_pQueryModel->setQuery(*query) ;
ui.tbv_deviceInfo->setModel(m_pQueryModel);
}

如果这两个函数连续调用会出错,提示信息如下:
“ServerDataManager.exe 中的 0x62005081 (Qt5Sqld.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突”
源码中错误行为:
    d->sqlResult->setQuery(query.trimmed());
if (!driver()->isOpen() || driver()->isOpenError()) {
qWarning("QSqlQuery::exec: database not open");
return false;

在qsqlquery.cpp中第386行
...全文
179 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cll131421 2015-03-01
  • 打赏
  • 举报
回复
调试发现driver()函数返回的是“0x00000000” 请问有人知道为啥么。
cll131421 2015-03-01
  • 打赏
  • 举报
回复
跟踪程序到
m_pSqlQuery->exec(strSql);
出错 没人来吧?好苦。。。。
cll131421 2015-03-01
  • 打赏
  • 举报
回复
单独执行某一个的话没问题。 感觉好像是两个数据库连接的问题,但是我在执行完成后都把数据库连接关闭了啊 关闭代码如下:
m_sqlDB.close();

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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