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

猜你喜欢

转载自blog.csdn.net/qq_37529913/article/details/109997058