查询一下数据库驱动
qDebug()<<QSqlDatabase::drivers();
结果显示,没有QMYSQL的驱动。
QList("QSQLITE", "QMARIADB", "QODBC", "QPSQL")
MySql6.2.4驱动下载地址,如果是别的版本,直接搜索然后下载就行。
进入下载,我只下了第一个。
解压之后,将release中的3个dll文件复制到QT安装目录bin下,G:\soft\QT\QT\6.2.4\mingw_64\bin
接下来将release\sqldrivers中的qsqlmysql.dll复制到G:\soft\QT\QT\6.2.4\mingw_64\plugins\sqldrivers中。再重新运行QT项目,即可成功连接mysql数据库!
下面是测试代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); //连接本地主机
db.setPort(3306);
db.setDatabaseName("DbName");//数据库名字
db.setUserName("UserName");//账号
db.setPassword("Password");//密码
if (db.open()) {
QMessageBox::information(NULL, "数据库连接", "数据库连接成功!!!!");
// 数据库连接成功
QSqlQuery query;
if (!query.exec("SELECT * FROM user")) {
qDebug() << "Error executing query: " << query.lastError().text();
} else {
while (query.next()) {
QString data = QString("%1,%2,%3").arg(query.value(0).toString(),
query.value(1).toString(), query.value(2).toString());
qDebug() << "data: " << data;
}
}
} else {
qDebug() << "Database connection failed: " << db.lastError().text();
QMessageBox::critical(NULL, "数据库连接", "数据库连接失败");
}
运行结果如下: