QT 连接MySQL实现增删改查

前言:

转载请附上连接,本帖原创请勿照抄。

QT连接MySQL实现增删改查目录

1. 初始化SQL环境

    1.1 pro文件添加SQL库

    1.2 打印驱动

    1.3 查看驱动

2. 连接数据库

3. 添加数据

4. 删除数据

5. 修改数据

6. 查询数据

项目完整版下载地址:https://mp.csdn.net/console/upDetailed


1. 初始化SQL环境

    1.1 pro文件添加SQL库

//在PRO文件内添加
QT += sql

    1.2 打印驱动

//在main.cpp内添加打印驱动代码
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MainWindow w;

    qDebug() << "Available drivers:";
    
    QStringList drivers = QSqlDatabase::drivers();  //获取现在可用的数据库驱动
    
    foreach(QString driver, drivers)
        
    qDebug() << driver;
    
    w.show();
    return a.exec();
}

    1.3 查看驱动

    查看是否有QMYSQL驱动,没有的话参考我的另一篇博客:https://blog.csdn.net/qq_37529913/article/details/109850670

2. 连接数据库

//初始化变量
QSqlDatabase db;

QSqlQuery query;

//构造函数内调用connect_mysql

void MainWindow::connect_mysql()
{
    db = QSqlDatabase::addDatabase("QMYSQL");

    db.setHostName("localhost");

    db.setPort(3306);

    db.setDatabaseName("mysql");

    db.setUserName("root");

    db.setPassword("root");

    if (!db.open()) {

        qDebug("Sql connect failed.");

        qDebug() << db.lastError().text();

    } else {

        qDebug("Sql connected.");

    }

}

3. 添加数据

    // 使数据库支持中文
    //query.exec("SET NAMES 'Latin1'");

    QString qslname;

    query=QSqlQuery(db);
    //添加数据
    QString sq="INSERT INTO db_mysql VALUES(0,'SY2020111917', 123, 'SY17', 60, 0)";
    // 查询数据
    //QString sq="select * from db_mysql";

    if (query.exec(sq)) {

        //qDebug("Sql connected.");
        qDebug("添加成功");

    } else {

        //qDebug("Sql connect failed.");
        qDebug("添加失败");
        qDebug() << db.lastError().text();

    }

4. 删除数据

    // 使数据库支持中文
    //query.exec("SET NAMES 'Latin1'");

    QString qslname;

    query=QSqlQuery(db);
    //添加数据
    //QString sq="INSERT INTO db_mysql VALUES(0,'SY2020111917', 123, 'SY17', 60, 0)";
    //删除数据
    QString sq="DELETE FROM db_mysql WHERE M_AID = 'SY2020111917'";
    // 查询数据
    //QString sq="select * from db_mysql";

    if (query.exec(sq)) {

        //qDebug("Sql connected.");
        //qDebug("添加成功");
        qDebug("删除成功");

    } else {

        //qDebug("Sql connect failed.");
        //qDebug("添加失败");
        qDebug("删除失败");
        qDebug() << db.lastError().text();

    }

5. 修改数据

    QString qslname;

    query=QSqlQuery(db);
    QString sq="";
    //添加数据
    //sq="INSERT INTO db_mysql VALUES(0,'SY2020111917', 123, 'SY17', 60, 0)";
    //删除数据
    //sq="DELETE FROM db_mysql WHERE M_AID = 'SY2020111917'";

    //修改数据
     sq="UPDATE db_mysql SET M_NAME = 'bb' WHERE M_NAME = 'aa'";

    // 查询数据
    //QString sq="select * from db_mysql";

    if (query.exec(sq)) {

        //qDebug("Sql connected.");
        //qDebug("添加成功");
        //qDebug("删除成功");
        qDebug("修改成功");
    } else {

        //qDebug("Sql connect failed.");
        //qDebug("添加失败");
        //qDebug("删除失败");
        qDebug("修改失败");
    }

6. 查询数据

    query=QSqlQuery(db);
    QString sq="";
    //添加数据
    //sq="INSERT INTO db_mysql VALUES(0,'SY2020111917', 123, 'SY17', 60, 0)";
    //删除数据
    //sq="DELETE FROM db_mysql WHERE M_AID = 'SY2020111917'";

    //修改数据
    //sq="UPDATE db_mysql SET M_NAME = 'bb' WHERE M_NAME = 'aa'";

    // 查询数据
    sq="select * from db_mysql";

    if (query.exec(sq)) {

        //qDebug("Sql connected.");
        //qDebug("添加成功");
        //qDebug("删除成功");
        //qDebug("修改成功");
        qDebug("查询成功");
    } else {

        //qDebug("Sql connect failed.");
        //qDebug("添加失败");
        //qDebug("删除失败");
        //qDebug("修改失败");
        qDebug("查询成功");
    }
    while (query.next()) {

        qDebug() << QString::number(query.value(0).toInt());
        qDebug() << query.value(1).toString();
        qDebug() << QString::number(query.value(2).toInt());
        qDebug() << query.value(3).toString();
        qDebug() << QString::number(query.value(4).toInt());
        qDebug() << QString::number(query.value(5).toInt());
    }

项目完整版下载地址:https://mp.csdn.net/console/upDetailed

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
QT连接MySQL数据库并实现增删改查操作,可以按照以下步骤进行: 1. 首先,确保已经正确安装了MySQL数据库和QT开发环境(如VS2015)。 2. 在QT中,使用QSqlDatabase类连接MySQL数据库。可以通过以下代码初始化数据库连接: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); // 主机名 db.setDatabaseName("database_name"); // 数据库名 db.setUserName("username"); // 用户名 db.setPassword("password"); // 密码 3. 使用QSqlQuery类执行数据库操作。比如,可以使用以下代码实现查询操作: QSqlQuery query; query.exec("SELECT * FROM table_name"); while (query.next()) { QString column1 = query.value(0).toString(); QString column2 = query.value(1).toString(); // 处理查询结果 } 4. 实现插入操作可以使用以下代码: QSqlQuery query; query.prepare("INSERT INTO table_name (column1, column2) VALUES (:column1, :column2)"); query.bindValue(":column1", value1); query.bindValue(":column2", value2); query.exec(); 5. 实现删除操作可以使用以下代码: QSqlQuery query; query.prepare("DELETE FROM table_name WHERE column = :column"); query.bindValue(":column", value); query.exec(); 6. 实现更新操作可以使用以下代码: QSqlQuery query; query.prepare("UPDATE table_name SET column = :new_value WHERE column = :old_value"); query.bindValue(":new_value", new_value); query.bindValue(":old_value", old_value); query.exec(); 7. 最后,在完成数据库操作后,要记得关闭连接: db.close(); 以上是使用QT和VS2015连接MySQL数据库并实现增删改查的基本步骤与代码示例。根据实际需求和表结构,可以对以上代码进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双子座断点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值