IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Qt实现opengauss数据库的增删改查以及显示数据到TableView中 -> 正文阅读

[大数据]Qt实现opengauss数据库的增删改查以及显示数据到TableView中

准备:

Qt成功连接opengauss数据库(可参考我的这篇文章Qt通过ODBC连接opengauss数据库

1.增加数据

//在名叫snameEdit的QlineEdit中输入姓名,并赋值给namestr
    QString namestr = ui->snameEdit->text();
    //在名叫snoEdit的QlineEdit中输入学号,并赋值给num
    QString num = ui->snoEdit->text();
    //在名叫gradeEdit的QlineEdit中输入成绩,并赋值给score
    int score = ui->gradeEdit->text().toInt();
    QString str ;
    //在名为student的表格中依次按照属性sname、sno、grade插入从namestr、num、score中取值依次插入表格
    str = QString("insert into student(sname, sno, grade) values('%1', '%2', '%3')").arg(namestr).arg(num).arg(score);
    qDebug()<<str;
    QSqlQuery query;
    //执行sql语句,是否成功返回给ok
    bool ok =query.exec(str);
    qDebug()<<ok;
    if(ok){
        printf("插入成功");
    }
    else{
        printf("插入失败");
    }

?2.删除数据

    QString name = ui->snameEdit->text();//从名为snameEdit的QlineEdit中中获取需要删除的人名
    QString str =  QString("delete from student where sname = '%1'").arg(name);
    QSqlQuery query;
    query.exec(str);
    ui->showLabel->setText("删除成功");

3.修改数据

 //从界面获取我们需要的信息
    QString updatename = ui->snameEdit->text();
    int number = ui->snoEdit->text().toInt();
    double score = ui->gradeEdit->text().toDouble();
    //将信息更新到student表中
    QString str = QString("update student set sno = '%1' , grade = '%2' where sname = '%3'").arg(number).arg(score).arg(updatename);
    QSqlQuery query;
    query.exec(str);//执行修改信息的操作
    ui->showLabel->setText("修改成功");

?

4.查找数据

QString str;
    if("三个输入都为空"){
       str = "select * from student";
    }
    else{
        QString searchname = ui->snameEdit->text();
        str = QString("select *from student where sname = '%1'").arg(searchname);
    }
    QSqlQuery query;
    query.exec(str);
    QString name;
    QString number;
    int score;
    while (query.next())
    {
        number = query.value(0).toString();
        name = query.value(1).toString();
        score =  query.value(2).toInt();
        qDebug()<<name;
        qDebug()<<number;
        qDebug()<<score;
    }
    ui->snameEdit->setText(name);
    ui->snoEdit->setText(number);
    ui->gradeEdit->setText(QString().setNum(score));
    ui->showLabel->setText("查询成功");

?

5.将数据库中的表直接显示到tableview中

数据库表的内容:

qt运行之后显示内容?

输出数据库数据槽函数内容

QSqlTableModel *model_;    //数据库模型

    model_=new QSqlTableModel; //负责提取数据
    model_->setTable("syjss");//选择要输出的表名称
    if(model_->select())
    {
        cout<<"model设置成功";
    }
    else
    {
        cout<<"model设置失败";
    }

    ui->tableView->setModel(model_);//显示到tableview表格中

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:27:20  更:2021-10-28 12:28:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:44:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码