首先创建一个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);
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐