01-15

#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);//判断是否有该数据库if(!db.contains("stuInfo.db")){//说明数据库不存在 则创建db=QSqlDatabase::addDatabase("QSQLITE");//增加一个数据库,驱动为sqlite3//给创建的数据库设置数据库名db.setDatabaseName("stuInfo");}//打开数据库if(!db.open()){QMessageBox::information(this,"","打开数据库失败");return;}//创建数据库表//实例化一个执行sql语句的对象QSqlQuery query;//准备sql语句QString sql="create table if not exists stu_info_table(""id integer primary key autoincrement,""numb integer,""name varchar(20),""sex varchar(4),""score integer)";//执行sql语句if(query.exec(sql)){QMessageBox::information(this,"","创建数据库表成功");}else{QMessageBox::information(this,"","创建数据库表失败");return;}on_showBtn_clicked();
}Widget::~Widget()
{delete ui;
}//添加按钮对应的槽函数处理
void Widget::on_addBtn_clicked()
{//获取ui界面上学生信息int numb=ui->numEdit->text().toUInt();QString name=ui->nameEdit->text();QString sex=ui->sexEdit->text();int score=ui->scoreEdit->text().toUInt();//判断用户是否填写完整信息if(numb==0||name.isEmpty()||sex.isEmpty()||score==0){QMessageBox::information(this,"","请将信息填写完整");return;}//实例化一个执行sql语句的对象QSqlQuery query;//准备sql语句QString sql=QString("insert into stu_info_table (numb,name,sex,score)""values(%1,'%2','%3',%4)").arg(numb).arg(name).arg(sex).arg(score);//执行sql语句if(query.exec(sql)){QMessageBox::information(this,"","添加成功");}else{QMessageBox::information(this,"","添加失败");}ui->numEdit->clear();ui->nameEdit->clear();ui->sexEdit->clear();ui->scoreEdit->clear();ui->tableWidget->clearContents();on_showBtn_clicked();
}//显示按钮对应槽函数处理
void Widget::on_showBtn_clicked()
{//准备sql语句QSqlQuery query;QString sql="select * from stu_info_table";if(!query.exec(sql)){QMessageBox::information(this,"","查询失败");return;}//所查询的信息就已经存放到query对象中int i=0;//记录行号while(query.next()){for(int j=0;j<query.record().count();j++){ui->tableWidget->setItem(i,j,new QTableWidgetItem(query.value(j+1).toString()));}i++;//行数递增}
}void Widget::on_deleteBtn_clicked()
{int numb=ui->numEdit->text().toUInt();QSqlQuery query;QString sql=QString("delete from stu_info_table where numb=%1").arg(numb);if(query.exec(sql)){QMessageBox::information(this,"","执行成功");}else{QMessageBox::information(this,"","执行失败");}ui->tableWidget->clearContents();on_showBtn_clicked();
}void Widget::on_revbtn_clicked()
{QSqlQuery query;int numb=ui->numEdit->text().toUInt();QString name=ui->nameEdit->text();QString sex=ui->sexEdit->text();int score=ui->scoreEdit->text().toUInt();if(!name.isEmpty()){QString sql=QString("update stu_info_table set name='%1' where numb=%2").arg(name).arg(numb);query.exec(sql);}if(!sex.isEmpty()){QString sql=QString("update stu_info_table set sex='%1' where numb=%2").arg(sex).arg(numb);query.exec(sql);}if(!score){QString sql=QString("update stu_info_table set score=%1 where numb=%2").arg(score).arg(numb);query.exec(sql);}ui->tableWidget->clearContents();on_showBtn_clicked();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK之Filebeat输出日志格式设置及输出字段过滤和修改

一、Filebeat输出日志格式设置 1.1 编辑vim filebeat.yml文件,修改输出格式设置 # output to console output.console:codec.format: string: %{[@timestamp]} %{[message]}pretty: true### 1.2 测试 执行 ./filebeat -e 可以看到/tmp/access.log(目前文件里只有140.77.188…

【LV12 DAY9 ADC实验】

电压在1501mv~1800mv时&#xff0c;LED2、LED3、LED4、LED5点亮 电压在1001mv~1500mv时&#xff0c;LED2、LED3、LED4点亮 电压在501mv~1000mv时&#xff0c;LED2、LED3点亮 电压在0mv~500mv时&#xff0c;LED2闪烁 #include "exynos_4412.h"void delay(unsigned in…

大语言模型系列-总述

大语言模型发展史 研究人员发现&#xff0c;扩展预训练模型&#xff08;Pre-training Language Model&#xff0c;PLM&#xff09;&#xff0c;例如扩展模型大小或数据大小&#xff0c;通常会提高下游任务的模型性能&#xff0c;模型大小从几十亿&#xff08;1 B 10亿&#x…

Mysql判断一个表中的数据是否在另一个表存在

方式一&#xff1a; 判断A表中有多少条数据在B表中【存在】,并且显示这些数据–EXISTS语句 select A.ID, A.NAME from 表A where EXISTS(select * from 表B where A.IDB.ID) 判断A表中有多少条数据在B表中【不存在】&#xff0c;并且显示这些数据–NOT EXISTS语句 select …

使用Go语言通过API获取代理IP并使用获取到的代理IP

目录 前言 【步骤一&#xff1a;获取代理IP列表】 【步骤二&#xff1a;使用代理IP发送请求】 【完整代码】 【总结】 前言 在网络爬虫、数据抓取等场景中&#xff0c;经常需要使用代理IP来隐藏真实的IP地址&#xff0c;以及增加请求的稳定性和安全性。本文将介绍如何使用…

ubuntu22: nvtop no gpu to monitor.

解决方法&#xff1a; 重新下载nvtop sudo apt update sudo apt -y install nvtop真是逆天 &#xff0c;ubuntu系统的nvidia driver突然坏了&#xff0c;然后我重装了nvidia driver, 之后用nvtop就出现这个问题了&#xff0c;但是逆天的是我竟然没有搜到一篇中文的帖子讲这个问…

NLP论文阅读记录 - 2021 | WOS 使用 GA-HC 和 PSO-HC 改进新闻文章的文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试 二.相关工作三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Improved Text Summa…

云卷云舒:2023年,我眼中的十大数据库

我眼中的十大数据库&#xff0c;只要看成长性和演进速度&#xff08;个见勿怪&#xff09;。 一、五强 1、openGauss&#xff1a;生态影响力变大&#xff0c;基于高斯的产品层出不穷 2、OceanBase&#xff1a;只因霸榜&#xff0c;技术强大&#xff0c;新特性更新频繁&#x…

lv14 并发控制:上下文、中断屏蔽和原子变量

1 上下文和并发场合 执行流&#xff1a;有开始有结束总体顺序执行的一段代码 又称上下文 应用编程&#xff1a;任务上下文 内核编程&#xff1a; 任务上下文&#xff1a;五状态 可阻塞 a. 应用进程或线程运行在用户空间b. 应用进程或线程运行在内核空间&#xff08;通过调用…

python基础语法看一篇就够了,全网最全python语法笔记汇总

前言 Python 是一种代表简单思想的语言&#xff0c;其语法相对简单&#xff0c;很容易上手。不过&#xff0c;如果就此小视 Python 语法的精妙和深邃&#xff0c;那就大错特错了。 如能在实战中融会贯通、灵活使用&#xff0c;必将使代码更为精炼、高效&#xff0c;同时也会极…

提前避坑Anzo Capital总结浮动差价的3个缺点

在交易中很多投资者倾向于选择浮动差价模式&#xff0c;这种模式的便利性就不言而喻了&#xff0c;但Anzo Capital需要提醒各位投资者&#xff0c;一定要知道浮动差价的3个缺点&#xff0c;在交易中提前避坑&#xff0c;下面Anzo Capital就和各位投资者一起总结浮动差价的这3…

leetcode 24两两交换链表中的节点

题目 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 思想 对于操作链表节点的时候&#xff0c;首先需要就是创建一个虚拟的…

前端动画特效分享(附在线预览)

分享几款不错的动画特效源码 其中有CSS动画、canvas动画、js小游戏等等 下面我会给出特效样式图或演示效果图 但你也可以点击在线预览查看源码的最终展示效果及下载源码资源 canvas爱心代码动画 爱心代码动画特效 由里向外不断的产生的小爱心形成一个巨大的爱心动画 以下图片…

Maxwell数据同步(增量)

1. Maxwell简介 1.1 Maxwell概述 Maxwell 是由美国Zendesk公司开源&#xff0c;用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作&#xff08;包括insert、update、delete&#xff09;&#xff0c;并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流…

全链路压力测试:现代软件工程中的重要性

全链路压力测试不仅可以确保系统在高负载下的性能和稳定性&#xff0c;还能帮助企业进行有效的风险管理和性能优化。在快速发展的互联网时代&#xff0c;全链路压力测试已成为确保软件产品质量的关键步骤。 1、测试环境搭建 测试应在与生产环境尽可能相似的环境中进行&#xff…

windows使用redis-安装和配置

windows使用redis 安装和配置 下载安装方式一-使用压缩包安装解压到指定的文件Redis安装为Windows服务安装成功 方式二-MSI安装包安装完成 Redis配置远程访问1.修改配置文件redis.windows.conf2.修改完redis配置文件&#xff0c;必须重启redis 下载 先下载Redis for windows 的…

Java lambda表达式如何自定义一个toList Collector

匿名类&#xff1a; package l8;import java.util.*; import java.util.function.BiConsumer; import java.util.function.BinaryOperator; import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collector; import java.util.s…

【PostgreSQL内核学习(二十二)—— 执行器(ExecutePlan)】

执行器&#xff08;InitPlan&#xff09; 概述ExecutePlan 函数ExecProcNode 函数 总结 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重他人的知识产权和学术成果&#xff0c;力求遵循合理使用原则&#xff0c;并在适用的情况下注明引用来…

超详细!4小时开发一个SpringBoot+vue前后端分离博客项目!!

超详细&#xff01;4小时开发一个SpringBootvue前后端分离博客项目&#xff01;&#xff01; 前后端分离项目 文章总体分为2大部分&#xff0c;Java后端接口和vue前端页面&#xff0c;比较长&#xff0c;因为不想分开发布&#xff0c;真正想你4小时学会&#xff0c;哈哈。 先…

【自学笔记】01Java基础-07面向对象基础-04接口与内部类详解

记录学习Java基础中有关接口类和内部类的知识。 1 接口 interface 关键字用于定义接口类&#xff0c;接口类是一系列方法的声明&#xff0c;一般只有方法的特征没有方法的实现&#xff0c;因此可以被不同的类接入实现&#xff0c;而这些实现可以具有不同的行为&#xff08;功…