Qt(10.11)

devtools/2024/10/15 16:17:47/

数据表

源代码:

#include "widget.h"
#include "ui_widget.h"
#include<QMessageBox>//消息对话框
#include<QDebug>
#include<QSqlRecord>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//想要添加某个数据库if(!db.contains("stu.db")){//如果当前对象中没有包含所需的数据库,则添加一个数据库db=QSqlDatabase::addDatabase("QSQLITE") ;//添加sqlite3数据库db.setDatabaseName("stu.db");//设置数据库的名称}
//打开数据库if(!db.open()){QMessageBox::information(this,"提示","数据库打开失败");return ;}//准备创建数据表//实例化一个sql语句的执行者QSqlQuery queery;//准备sql语句QString sql = "create table if not exists STU(id int,name char,sex char,score double);";//执行sql语句if(!queery.exec(sql)){QMessageBox::information(this,"提示","数据表创建失败");return ;}//程序执行至此,表示数据表创建成功}Widget::~Widget()
{delete ui;
}void Widget::on_pushbtn_clicked()//添加信息按钮对应的槽函数
{//将ui界面上的相关信息获取下来int ui_numb =ui->numberEdit->text().toUInt();QString ui_name =ui->nameEdit->text();QString ui_sex = ui->nanEdit->text();double ui_score =ui->scoreEdit->text().toUInt();//判断信息中心是否为空if(ui_numb==0||ui_name.isEmpty()||ui_sex.isEmpty()||ui_score==0){QMessageBox::information(this,"提示","请将信息填写完整");return ;}//准备sql语句QString sql =QString("insert into STU(id,name,sex,score) values(%1,'%2','%3',%4);").arg(ui_numb).arg(ui_name).arg(ui_sex).arg(ui_score);//qDebug()<<sql;//实例化sql语句执行者QSqlQuery queery;//执行sql语句if(!queery.exec(sql)){QMessageBox::information(this,"提示","添加信息失败");return ;}else{QMessageBox::information(this,"提示","添加信息成功");}}void Widget::on_showbtn_clicked()
{QSqlQuery queery;QString sql="select *from STU;";if(!queery.exec(sql)){QMessageBox::information(this,"提示","查询失败");return ;}//功能:读取查询结果集的下一条记录,如果记录不为空,就返回真,否则返回假int i=0;//遍历结果集的行while(queery.next()){//记录当前记录QSqlRecord record =queery.record();//对当前记录进行操作for(int j=0;j<record.count();j++){//qDebug()<<record.value(i).toString();//该循环中的value(i)表示的就是第i行第j列的元素ui->tableWidget->setItem(i,j,new QTableWidgetItem(record.value(j).toString()));}i++;//表示行数增加}
}void Widget::on_delbtn_clicked()
{QString name = ui->nameEdit->text();//获取要删除的名字QSqlQuery queery;//判断名字不为空if (name.isEmpty()){QMessageBox::information(this, "提示", "请输入要删除的姓名");return;}QString sql = QString("DELETE FROM STU WHERE name = '%1';").arg(name);//删除语句,同上if(!queery.exec(sql)){QMessageBox::information(this,"提示","数据删除失败");return ;}else{QMessageBox::information(this,"提示","数据删除成功");}
}void Widget::on_sortbtn_clicked()
{// 实例化SQL执行者QSqlQuery queery;// 准备升序排序的SQL语句,根据成绩(score)进行排序QString sql = "SELECT * FROM STU ORDER BY score ASC;";// 执行查询操作if (!queery.exec(sql)) {QMessageBox::information(this, "提示", "排序查询失败");return;}// 清空表格数据ui->tableWidget->clear();// 遍历查询结果并显示到表格中int i = 0;while (queery.next()) {QSqlRecord record = queery.record();for (int j = 0; j < record.count(); j++) {ui->tableWidget->setItem(i, j, new QTableWidgetItem(record.value(j).toString()));}i++;}}

 排序:

删除:

 

 

 

 

 


http://www.ppmy.cn/devtools/126238.html

相关文章

亚洲 Web3 市场:Q3 监管变化与市场驱动力探析

概述&#xff1a; 亚洲的 Web3 市场在2024年第三季度继续表现出强劲增长势头。得益于技术精通的人口基础、政府的积极政策导向和企业的大规模参与&#xff0c;韩国、日本、越南等国家已然走在行业前沿。此外&#xff0c;随着越来越多的监管框架落地&#xff0c;区块链创新不断…

Oracle 的 OCP 与 MySQL 的 OCP 的区别

事务开始与提交&#xff08;以 Java 代码中的事务操作为例&#xff09; Oracle&#xff08;在 Java 中使用 JDBC 进行事务操作&#xff09; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;public cla…

Apache POI实现数据以excel文件的形式导出

Apache POI介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 应用场景&#xff1a;银行网银系统…

echarts圆环图中间加文字

关键代码在下面&#xff0c;直接添加 title 即可 title: {show: true,text: 100%, //图中间的值x: center, //居中y: center,textStyle: {fontSize: 15,color: pink,fontWeight: normal,fontWeight:800}}, 实操请戳这里&#xff01;&#xff01;&#xff01;&#xff01;

Elasticsearch的安装与配置

注意&#xff1a;elasticsearch 禁止安装在/root路径下&#xff01; 1、创建用户组 groupadd elastic 2、创建用户 useradd es -d /home/es -g elastic echo es | passwd es --stdin 3、给新创建的用户进行授权 chown -R es:elastic /home/es chmod -R 775 /home/es 4…

python爬虫--某动漫信息采集

python爬虫--tx动漫 一、采集主页信息二、采集详情页信息三、代码供参考一、采集主页信息 略。 二、采集详情页信息 如上图所示,使用xpath提取详情页的标题、作者、评分、人气、评论人数等数据。 三、代码供参考 import csv import time import random import requests fr…

MySQL数据库操作——(2)

3 DML&#xff08;数据操作&#xff09; 3.1 添加数据 insert语法&#xff1a; 向指定字段添加数据 insert into 表名 (字段名1, 字段名2) values (值1, 值2); 全部字段添加数据 insert into 表名 values (值1, 值2, ...); 批量添加数据&#xff08;指定字段&#xff09; ins…

2000.1-2024.7中国经济政策不确定性指数(月度)

2000.1-2024.7中国经济政策不确定性指数&#xff08;月度&#xff09; 1、时间&#xff1a;2000.1-2024.7 2、指标&#xff1a;Date、CNEPU 3、来源&#xff1a;China Economic Policy Uncertainty Index 4、说明&#xff1a;中国经济政策不确定性指数&#xff0c;用于衡量…