如果做成类成员的时候,有没有指定数据库名呢?或者换句话说,你怎么让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 // 打开数据库失败
{
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)