Qt连接Access数据库,出现错误“QSqlQuery::exec: database not open”

u011060787 2013-06-14 04:16:19
Qt连接Access数据库,出现错误“QSqlQuery::exec: database not open”,不知道哪里出错了,为什么不能打开数据库?代码如下:

#include "dbconnection.h"
dbconnection::dbconnection()
{
}

QSqlDatabase dbconnection::createConnection()
{
static int cCount = 0;
QSqlError err;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", QString("conn%1").arg(++cCount));
//strDataBaseName = QString("conn%1").arg(++cCount);
db.setDatabaseName("llj");
db.setHostName("127.0.0.1");
db.setPort(1000);
if (false == db.open("sa", "sa"))
{
err = db.lastError();
db = QSqlDatabase();
//ShowCriticalMessageBox();
QSqlDatabase::removeDatabase(QString("conn%1").arg(cCount));
}
if (err.type() != QSqlError::NoError)
{
//ShowCriticalMessageBox();
}
return db;
}

void dbconnection::ShowCriticalMessageBox()
{
QMessageBox::critical( 0
, qApp->tr("Cannot open database")
, qApp->tr("Click Cancel to exit.")
, QMessageBox::Cancel );
}
...全文
284 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

64,651

社区成员

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

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