关于Qt中的QSQLQuery类,提示数据库没有打开的错误

关于Qt中的QSQLQuery类,提示数据库没有打开的错误,第1张

QSqlQuery构造的时候需要指定数据库名。

如果做成类成员的时候,有没有指定数据库名呢?或者换句话说,你怎么让QSQLQuery对象知道你使用的是哪一个数据库的呢?重复使用QSqlQuery的时候,别忘了调用clear函数清除前次的资源。

Linux平台下解决Qt5连接mysql数据库的问题。

输入sudoapt-getinstalllibqt5sql5-mysql解决,这种方法只能解决Qt是用sudoapt-getinstallqt-sdk命令装的低版本的Qt5(如5、2、x)缺少MySQL驱动问题。

解决在Ubuntu14、04系统下,Qt5无法连接MySQL数据库的问题(Qt5缺少MySQL驱动,Qt5缺少libqsqlmysql.so动态库,如何安装libqsqlmysql库,如何用Qt5源码编译生成libqsqlmysql库)。

连接mysql 数据库

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL")// 使用mysql数据库驱动

db.setHostName("localhost")

db.setDatabaseName("exampledb")// 数据库名称

db.setUserName("sa")// 用户名

db.setPassword("1")// 密码

bool ok = db.open()// 尝试连接数据库

if(ok)

{

QSqlQuery myquery

if(myquery.exec("select * from employeedb"))

{

int num = 0

if(db.driver()->hasFeature(QSqlDriver::QuerySize))

{

num = myquery.size()// 如果支持结果影响的行数,那么直接记录下来

}

else

{

myquery.last()//否则定位到结果最后

num = myquery.at() + 1

}

//这里添加数据库的查询结果处理 *** 作

}

else // 如果查询失败

{

QSqlError error = myquery.lastError()

}

}

else // 打开数据库失败

{

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9246877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存