QT操作MySQL数据库

📅 2026/7/6 21:59:33 👁️ 阅读次数 📝 编程学习
QT操作MySQL数据库

QT操作MySQL数据库

在Qt中操作MySQL数据库,你可以使用QtSql模块中的QSqlDatabase类和相关类。
以下是一些基本的数据库操作和示例代码。

步骤 1:配置MySQL

sql
mysql> create database mydatabase;
mysql> use mydatabase;
mysql> create table student {->      id integer unsigned primary key,->      name varchar(16) not null-> }charset utf8;
步骤 2: 配置Qt 添加SQL

在 .pro文件中添加 QT += sql,然后使用以下代码测试

步骤 3: 包含必要的头文件
在你的Qt项目中,确保包含了必要的头文件:

cpp
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlError>
#include <QDebug>
步骤 4: 连接数据库 使用QSqlDatabase类创建一个数据库连接:
cpp
    QSqlDatabase db;db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost"); // 数据库服务器地址db.setDatabaseName("mydatabase"); // 数据库名db.setUserName("root"); // 用户名db.setPassword("root"); // 密码if (!db.open()) {qDebug() << "Error: Connection with database fail";} else {qDebug() << "Database: Connection ok";}
步骤 5: 执行SQL查询 使用QSqlQuery对象来执行SQL查询:
cpp
    QSqlQuery query;QString sql = "SELECT * FROM STUDENT";if (query.exec(sql)) {while (query.next()) {QString data1 = query.value(0).toString(); // 获取第一列的数据QString data2 = query.value(1).toString();qDebug() << data1;qDebug() << data2;}} else {qDebug() << "Query failed:" << query.lastError().text();}
步骤 6: 插入、更新和删除数据
点击查看代码
    QString operaSql;// 插入数据operaSql = "INSERT INTO STUDENT (id, name, birth) VALUES (1, 'tom')";// 更新数据operaSql = "UPDATE STUDENT SET id = 2 WHERE id = 1";// 删除数据operaSql = "DELETE FROM STUDENT WHERE NAME = 'tom'";QSqlQuery operaQuery;operaQuery.prepare(operaSql);operaQuery.addBindValue("id");operaQuery.addBindValue("name");if (!insertQuery.exec()) {qDebug() << "opera failed:" << operaQuery.lastError().text();} else {qDebug() << "opera successful";}