QT操作mysql数据库(创建,插入,更新,删除)

Posted issue是fw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT操作mysql数据库(创建,插入,更新,删除)相关的知识,希望对你有一定的参考价值。

首先创建一个mysql类型的数据库类
设置需要连接到的数据库服务器ip
设置端口号
设置数据库用户名
设置数据库密码
设置操作哪个数据库

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");//数据库服务器ip
    db.setUserName("root");//数据库用户名
    db.setPassword("123");//数据库密码
    db.setDatabaseName("info");//使用哪个数据库
    //端口号就使用默认的3306吧,因为在本地
    if( !db.open() )//打开数据库,如果返回false表示打开失败
    
        QMessageBox::warning(this,"错误",db.lastError().text() );//打开失败,显示错误信息
        return;
    

连接上了数据库,那么就来实现功能吧,做一个这样的界面

要求能直接作用于数据库(这个界面就随便用 u i ui ui界面做吧)

首先创建一下这个数据库

QSqlQuery query;
QString sql1 = "create table student(id int primary key auto_increment,name varchar(255),age int,score int);";
query.exec();

然后看一下数据库,长这个样子

然后实现一下添加按钮的槽函数

void Widget::on_Btnadd_clicked()

    int id = ui->lineid->text().toInt();
    QString name = ui->linename->text();
    int age = ui->lineage->text().toInt();
    int score = ui->linescore->text().toInt();
    QString sql = QString("insert into student(id,name,age,score) values('%1','%2','%3','%4')").arg(id).arg(name).arg(age).arg(score);
    QSqlQuery query;
    query.exec(sql);

更新按钮的槽函数

void Widget::on_Btnupdate_clicked()

    int id = ui->lineid->text().toInt();
    QString name = ui->linename->text();
    int age = ui->lineage->text().toInt();
    int score = ui->linescore->text().toInt();
    QString sql = QString("update student set id='%1',name='%2',age='%3',score='%4' where id='%5'").arg(id).arg(name).arg(age).arg(score).arg(id);
    QSqlQuery query;
    query.exec(sql);

删除按钮的槽函数(按照 i d id id删除)

void Widget::on_Btndel_clicked()

    int id = ui->lineid->text().toInt();
    QString sql = QString("delete from student where id = '%1'").arg(id);
    QSqlQuery query;
    query.exec(sql);

以上是关于QT操作mysql数据库(创建,插入,更新,删除)的主要内容,如果未能解决你的问题,请参考以下文章

mysql数据的操作(插入更新删除)

Qt 操作Json格式文件(创建插入解析修改删除)

MySQL数据的基础插入更新和删除操作总结

如何使用 PHP 在 MYSQL 中的数据库表中插入、更新、删除记录时创建日志

mysql之数据的删除删除更新操作

Qt操作中你需要知道的Sqlite 玩法,隔壁JavaPython等一系列大爷看了都直呼内行!!!