注意:仅适用于个人情况。
在qt学习时遇到要使用数据库的情况,连接sqlite没有问题,但是连接mysql数据库有问题。经过多方查找,发现QT6不自带mysql的驱动,需要自己编译,或者下载对应版本的mysql驱动。
去下载对应的驱动:https://github.com/thecodemonkey86/qt_mysql_driver/releases?page=2
下载后解压得到:
将这两个代码拷贝到qt的安装目录下:
可以使用代码判断是否存在驱动:
void sql::hasMySQLDriver()
{
QStringList drivers = QSqlDatabase::drivers();
if (drivers.contains("QMYSQL")) {
qDebug() << "MySQL driver is available.";
} else {
qDebug() << "MySQL driver is not available.";
}
}
写好连接数据库的代码:
sql::sql() {
hasMySQLDriver();
QSqlDatabase database = QSqlDatabase::addDatabase("QMYSQL");
database.driver();
database.setHostName("xxxxxxxxx");
database.setDatabaseName("xxxx");
database.setUserName("xxxx");
database.setPassword("xxxxxxxxxx");
if (!database.open()) {
qDebug() << "Failed to connect to database:" << database.lastError().text();
}
qDebug() << "Connected to database!";
qureyTable();
//createTable();
closeDb();
}
运行结果如下: