QT连接Mysql数据库(详细成功版)-CSD
N博客
我的MySQL是64位的,所以我的Qt的套件也需要是64位的
遇到的问题:
(available drivers中已经有QMYSQL QMYSQL3,还是not loaded)
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
解决方法:Qt与MySQL连接中“QSqlDatabase: QMYSQL driver not loaded”的问题 - 知乎 (zhihu.com)
下载mysql-connector-c-6.1.3
MySQL :: 下载 MySQL Connector/C(存档版本)
把lib文件夹下的libmysql.dll和libmysql.lib文件复制到Qt构建套件路径
xxx\Qt\5.13.0\mingw73_64\bin
注意区分32位还是64位,mingw还是msvc。
然后就连接成功啦!
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1"); //连接本地主机
db.setPort(3306);
db.setDatabaseName("information");
db.setUserName("root");
db.setPassword("156707lpl");
bool ok = db.open();
if (ok) {
qDebug() << "link success";
}
else {
qDebug() << "link failed";
qDebug() << "error open database because" << db.lastError().text();
}
QSqlQuery query(db);
query.prepare("INSERT INTO users VALUES(NULL, 'test', 'test@runoob.com', '2022-01-01', true); ");
if (!query.exec())
{
qDebug() << query.lastError();
}