Qt中提供了QSqlQuery、QSqlDatabase等一系列数据库操作类,可用于连接和操作MySQL数据库。
以下是一个简单的例子,演示如何使用Qt连接MySQL数据库:
#include <QCoreApplication>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 连接MySQL数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // 设置主机名
db.setPort(3306); // 设置端口号
db.setUserName("root"); // 设置用户名
db.setPassword("password"); // 设置密码
db.setDatabaseName("database_name"); // 设置要连接的数据库名
if (!db.open()) {
qDebug() << "Failed to connect MySQL database:" << db.lastError().text();
return -1;
}
qDebug() << "Connected to MySQL database!";
// 执行SQL语句查询数据
QSqlQuery query;
if (query.exec("SELECT * FROM table_name")) {
while (query.next()) {
QString name = query.value(0).toString();
int age = query.value(1).toInt();
qDebug() << name << age;
}
qDebug() << "Query finished!";
} else {
qDebug() << "Failed to execute SQL statement:" << query.lastError().text();
return -1;
}
return a.exec();
}
以上代码首先通过 addDatabase()
方法添加了一个MySQL数据库连接,并设置了相关参数。然后调用 open()
方法打开该连接。如果成功,将输出 “Connected to MySQL database!”;否则将输出错误信息。
接着,使用 QSqlQuery
对象执行SQL语句查询数据。如果执行成功,将通过 next()
方法遍历所有结果,并输出相应的数据;否则将输出错误信息。
需要注意的是,在使用Qt操作MySQL数据库之前,需确保已正确安装了MySQL驱动程序。可以在Qt官网下载MySQL驱动程序并进行安装:https://download.qt.io/official_releases/qt/5.15⁄5.15.2/plugins/sqldrivers/