C++DAY50

news2024/7/4 6:10:45

 

源文件代码

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    if(!db.contains())
    {
        db = QSqlDatabase::addDatabase("QSQLITE");

        db.setDatabaseName("stuinfo.db");
        QMessageBox::information(this,"","创建数据库成功");
    }

    if(!db.open())
    {
        QMessageBox::information(this,"","打开数据库失败");
        return;
    }

    QSqlQuery query;

    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)";

    if(query.exec(sql))
    {
        QMessageBox::information(this,"","创建数据表成功");
    }
    else
    {
        QMessageBox::information(this,"","创建数据表失败");
    }

}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_addbtn_clicked()
{
    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;
    }

    QSqlQuery query;
    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);
    if(query.exec(sql))
    {
        QMessageBox::information(this,"","添加成功");
    }
    else
    {
        QMessageBox::information(this,"","添加失败");
    }
}

void Widget::on_showbtn_clicked()
{
    QSqlQuery query;
    QString sql = "select * from stu_info_table";
    ui->tableWidget->clear();
    if(query.exec(sql))
    {
        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()
{
    QString name = ui->nameedit->text();

    QSqlQuery query;
    QString sql = QString("delete from stu_info_table where name='%1'").arg(name);


    if(query.exec(sql))
    {
        QMessageBox::information(this,"","删除成功");
    }
    else
    {
        QMessageBox::information(this,"","删除失败");
    }
}

void Widget::on_searchbtn_clicked()
{

    QString name = ui->nameedit->text();
    ui->tableWidget->clear();

    QSqlQuery query;
    QString sql = QString("select * from stu_info_table where name = '%1' ").arg(name);

    if(query.exec(sql))
    {
        QMessageBox::information(this, "", "查找成功");
        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++;
        }
    }
    else
        QMessageBox::information(this, "", "查找失败");

}

 

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

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

相关文章

Hikari 介绍

一、什么是数据库连接池 数据库连接池是一种管理和复用数据库连接的技术。在应用程序中&#xff0c;连接数据库是一项耗费资源和时间的操作。传统上&#xff0c;每次需要与数据库交互时&#xff0c;应用程序都会创建一个新的数据库连接&#xff0c;并在使用完成后关闭连接。然…

什么是全链路压测?

随着互联网技术的发展和普及&#xff0c;越来越多的互联网公司开始重视性能压测&#xff0c;并将其纳入软件开发和测试的流程中。 阿里巴巴在2014 年双11 大促活动保障背景下提出了全链路压测技术&#xff0c;能更好的保障系统可用性和稳定性。 什么是全链路压测&#xff1f;…

使用IO流完成项目实战水果库存系统

以下内容本人都是在 Maven 工程下总结的 需求介绍显示主菜单让程序无线运行下去加载数据显示库存列表根据名称查找特定库存记录添加库存记录查看_下架_退出功能实现持久化数据 package com.csdn.fruit.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lom…

系统可靠性分析与设计

系统可靠性分析与设计 内容提要 可靠性相关概念 骚戴理解&#xff1a;计算机系统的可靠性和可用性不是完全相同的概念&#xff0c;尽管它们在某些方面有重叠之处。 可靠性指的是计算机系统在特定时间段内正常运行的能力&#xff0c;即系统在面对各种故障或意外情况时能够继续…

“第四十八天” 计算机组成原理

数据结构学完了&#xff0c;不过也就是匆匆过了一遍&#xff0c;后面肯定还是要重来的。现在开始学机组了。 计算机发展历程&#xff1a; 计算机硬件唯一能识别的数据是二进制的 0/1&#xff0c;而在计算机中用低/高电平表示 0 / 1&#xff0c;也就是通过电信号传递数据&#x…

Tecplot绘制三维彩色流线

文章目录 1234 1 2 需要选取合适的截面 3 4 用温度云图对流线进行染色

07、Python -- 序列相关函数与封包解包

目录 使用函数字符串也能比较大小序列封包序列解包多变量同时赋值 最大值、最小值、长度 序列解包与封包 使用函数 len()、max()、min() 函数可获取元组、列表的长度、最大值和最小值。 字符串也能比较大小 字符串比较大小时&#xff0c;将会依次按字符串中每个字符对应的编…

KSD1-16 KSD1-32 KUKA 与人工智能和机器人合作

KSD1-16 KSD1-32 KUKA 与人工智能和机器人合作 人工智能(AI)和机器人技术是每个行业越来越多的话题&#xff0c;特别是围绕它们如何简化流程和实践。这过去十年&#xff0c;英国人工智能公司的数量增加了688%虽然这项技术的进步令许多人兴奋&#xff0c;但也有一些神话让许多…

开发趋势 Java Lambda 表达式 第二篇

开发趋势 Java Lambda 表达式 第二篇 Lambda 的发展史 Java Lambda 表达式是在 Java 8 版本中引入的重要特性&#xff0c;它描述了一种更简洁、更灵活的方式来处理函数式编程。 在 Java 8 之前&#xff0c;要实现函数式编程&#xff0c;需要通过匿名类实现接口的方式。这样的…

代码随想录算法训练营第三十一天 | LeetCode 455. 分发饼干、376. 摆动序列、53. 最大子数组和

代码随想录算法训练营第三十一天 | LeetCode 455. 分发饼干、376. 摆动序列、53. 最大子数组和 文章链接&#xff1a;分发饼干 摆动序列 最大子数组和 视频链接&#xff1a;分发饼干 摆动序列 最大子数组和 目录 代码随想录算法训练营第三十一天 …

第三章 C++的循环结构

系列文章目录 第一章 C的输入第二章 C的输出 文章目录 系列文章目录前言一、个人名片二、while三、do-while四、for总结 前言 今天来学循环结构&#xff01; 一、个人名片 个人主页&#xff1a;睡觉觉觉得 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评…

怎样正确进行全链路压测?

全链路压测是确保软件系统稳健性和性能的关键一环。通过全面评估整个系统的性能&#xff0c;并在生产环境之前发现和解决问题&#xff0c;可以提高系统的可用性、用户满意度&#xff0c;并降低潜在的风险。本文将介绍怎样正确进行全链路压测! 确定测试目标&#xff1a;首先&…

异步编程详解(.NET)

在之前写的一篇关于async和await的前世今生的文章之后&#xff0c;大家似乎在async和await提高网站处理能力方面还有一些疑问&#xff0c;很多网站本身也做了不少的尝试。今天我们再来回答一下这个问题&#xff0c;同时我会做一个async和await在WinForm中的尝试&#xff0c;并且…

hackmyvm之gift

hackmyvm是一个平台&#xff0c;包含了大量靶机&#xff0c;类似于vulnhub、hackthebox等平台&#xff0c;你可以在上面下载靶机&#xff0c;进行渗透测试练习&#xff0c;非常适合热爱黑客技术或从事渗透测试的人员。 &#xff08;这段解释参考这篇文章&#xff09; 下载安装…

一键运行大语言模型服务,搭建聊天应用

前言 本文介绍一个可以快速搭建本地大语言模型的聊天服务&#xff0c;模型和代码已全部提供&#xff0c;不需要联网运行。项目使用的是Qwen-7B-Int4模型&#xff0c;只需要8G显存的显卡都能流畅运行&#xff0c;无论是Windows还是Linux系统都支持使用。 安装环境 安装GPU版本…

PyTorch 与 TensorFlow:机器学习框架之战

深度学习框架是简化人工神经网络 (ANN) 开发的重要工具&#xff0c;并且其发展非常迅速。其中&#xff0c;TensorFlow 和 PyTorch 脱颖而出&#xff0c;各自在不同的机器学习领域占有一席之地。但如何为特定项目确定理想的工具呢&#xff1f;本综合指南[1]旨在阐明它们的优点和…

基于粒子群算法的无人机航迹规划-附代码

基于粒子群算法的无人机航迹规划 文章目录 基于粒子群算法的无人机航迹规划1.粒子群搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用粒子群算法来优化无人机航迹规划。 1.粒子群…

电脑软件:推荐一款非常强大的pdf阅读编辑软件

目录 一、软件简介 二、功能介绍 1、界面美观&#xff0c;打开速度快 2、可直接编辑pdf 3、非常强大好用的注释功能 4、很好用的页面组织和提取功能 5、PDF转word效果非常棒 6、强大的OCR功能 三、软件特色 四、软件下载 pdf是日常办公非常常见的文档格式&#xff0c;…

WPF Material Design UI框架

前言 Material Design in xaml 是开源免费的ui框架&#xff0c;工控软件主打的就是简单界面。 以下简称MD 相关资源 MaterialDesignInXamlToolkit Github 地址 MD 快速启动 MD 案例压缩包 MD 框架使用 启动环境配置 安装Nuget包 App.xaml 配置 <Application x:Class&qu…

利用dns协议发起ddos反射攻击

利用DNS服务器发起反射型DDOS&#xff0c;攻击带宽 基本思路&#xff1a; 1、利用any类型的dns查询&#xff0c;可完成发送少量请求数据&#xff0c;获得大量返回数据。 2、将原请求地址改为受害者地址&#xff0c;则dns会向受害者返回大量数据&#xff0c;占用带宽 警告&…