QT:控制台数据新增、删除、查询、更新

news/2024/11/13 4:26:27/文章来源:https://www.cnblogs.com/samrv/p/18536338

效果图:

 CH1301.pro 详细代码

QT -= gui
QT += sqlCONFIG += c++11 console
CONFIG -= app_bundle# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

  

main.cpp 详细代码:

#include <QCoreApplication>
#include <QTextCodec>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlError>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlRecord>
//#include <QTime>  //不建议使用,将来禁用
#include <QElapsedTimer>
#include <QtDebug>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// <QTime>  不建议使用,将来禁用,建议改 用 <QElapsedTimer>//QTextCodec::setCodecForLocale(QTextCodec::setCodecForLocale()); // 设置显示中文QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setHostName("DESKTOP-O9O3HH7");// 设置主机名称db.setDatabaseName("qtDB.db"); // 设置数据库名称db.setUserName("zhouhejun");// 设置数据库用户名db.setPassword("123456"); //设置数据库密码db.open();// 创建数据库表QSqlQuery query ;bool success = query.exec("create table automobile ""( id int primary key, attribute varchar, type varchar,""kind varchar, nation int, carnumber int,""elevaltor int, distance int,""oil int, temperature int ) ");if(success)qDebug()<<QObject::tr("数据库表创建成功!\n");elseqDebug()<<QObject::tr("数据库表创建失败!\n");// 查询query.exec("select * from from automobile");QSqlRecord rec = query.record();qDebug()<<QObject::tr("automobile表字段数:")<<rec.count();//插入记录QElapsedTimer t; // 运行时间组件// QTime t;t.start(); //启动一个计时器,统计操作耗时query.prepare("insert into automobile values(?,?,?,?,?,?,?,?,?,?)");long records = 100 ;// 向表中插入任意的100条记录for (int i=0; i<records; i++){query.bindValue(0,i);query.bindValue(1,"四轮");query.bindValue(2,"轿车");query.bindValue(3,"富康");query.bindValue(4,rand()%100);query.bindValue(5,rand()%10000);query.bindValue(6,rand()%300);query.bindValue(7,rand()%200000);query.bindValue(8,rand()%52);query.bindValue(9,rand()%100);success=query.exec();if(!success){QSqlError lastError = query.lastError();qDebug()<<lastError.driverText()<<QString(QObject::tr("插入失败"));}else{qDebug()<< QString(QObject::tr("插入成功,第 "))<<i<<QString(QObject::tr(" 行。"));}}qDebug()<<QObject::tr("插入 %1 条记录,耗时: %2 ms").arg(records).arg(t.elapsed());// 排序t.restart();//重启计时器success=query.exec("select * from automobile order by id desc"); // 降序if(!success){qDebug()<<QObject::tr("排序 %1 条记录,耗时: %2 ms").arg(records).arg(t.elapsed());}else{qDebug()<<QObject::tr("排序失败!");}//更新记录t.restart();for(int i =0; i<records; i++){query.clear();query.prepare(QString("update automobile set attribute=?,""type=?, kind=?, elevaltor=?,""distance=?, oil=?, temperature=?  ""where id= %1").arg(i));query.bindValue(0,"四轮");query.bindValue(1,"轿车");query.bindValue(2,"富康");query.bindValue(3,rand()%100);query.bindValue(4,rand()%10000);query.bindValue(5,rand()%300);query.bindValue(6,rand()%200000);query.bindValue(7,rand()%52);query.bindValue(8,rand()%100);success= query.exec();if(!success){QSqlError lastError= query.lastError();qDebug()<<lastError.driverText()<<QString(QObject::tr("更新失败"));}}qDebug()<<QObject::tr("更新 %1 记录,耗时: %1 ms").arg(records).arg(t.elapsed());// 删除t.restart();query.exec("delete from automobile where id = 15 ");// 输出操作耗时qDebug()<<QObject::tr("删除一条记录,耗时: %1 ms").arg(t.elapsed());return 0; // 退出//return a.exec();
}

  

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

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

相关文章

【人脸伪造检测】Spatial-Phase Shallow Learning: Rethinking Face Forgery Detection in Frequency Domain

一、研究动机[!note]创新点:利用相位谱实现伪造检测,并且证明了卷积模型可以提取隐性特征。由于上采样是伪造模型的关键步骤,这篇论文通过相位信息检测上采样的伪影。对比之前的频率模型: F3-Net:通过离散余弦变换后的统计特征实现伪造检测二、检测模型可学习的知识点[!ti…

CF413

前言 我是小惰惰,所以我只写一套题,去seesee大家的题解 CF413A 扫一遍 如果他的最大值>max||最小值<min 不行 如果他不等于 max min 的数 >n-m 不行 CF314B 直接记录每个聊天室法了多少条消息,然后计算每个人的时候减去他法的就行了 CF314C 反正都是全部翻倍,所以…

全面开启双拼

简单说说各种设备怎么开启双拼简单说说各种设备怎么开启双拼 ‍‍ iOS 其实添加双拼键盘,和添加五笔键盘差不多,具体可以看《启用 iPhone 原生的五笔输入》,这里就不赘述了 你也可以安装流行输入法,然后切换为双拼。 ‍ Android 貌似没有原生的双拼,可以安装下主流的输入法…

终于搞全了:GPIO/ADC/LED/I2C/SPI/USB…

合宙低功耗4G模组经典型号Air780E,支持两种软件开发方式: 一种是传统的AT指令;一种是基于模组做Open开发。 传统AT指令的开发方式,合宙模组与行业内其它模组品牌在软件上区别不大,在硬件功耗上更有优势; 模组Open开发,合宙采用的是LuatOS方式,相对C-SDK入门更简单,开发…

20-数据库系统安全

20.1 概况 1)概念 数据库安全是指数据库的机密性、完整性、可用性能够得到保障,其主要涉及数据库管理安全、数据安全、数据库应用安全以及数据库运行安全。 2)威胁授权的误用 逻辑推断和汇聚:利用逻辑推理,把不太敏感的数据结合起来可以推断出敏感信息。进行逻辑推断也可能…

来了,超全MQTT实用示例

Air201快速入门之MQTT示例合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。 内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精…

Air780E软件指南:zlib解压示例

一、ZLIB解压工具简介Zlib解压工具是一个广泛使用的压缩和解压缩库,主要用于处理数据的压缩和解压缩任务。Zlib使用的是DEFLATE算法,这是一种通用的压缩算法。它被应用在很多场景中,比如压缩文件、网络传输中的数据压缩、以及各种应用程序中的数据存储和读取。 Zlib的代码库…

简单但实用,RTC时钟使用指南

合宙Air201快速入门-RTC实时时钟使用示例- 本教程教你通过使用脚本代码,实现Air201内置RTC实时时钟同步时间、获取时间、设置时间等功能,可根据实际需求灵活应用。 我们先了解一些相关基础知识: RTC——Real-Time Clock实时时钟,通常称为时钟芯片,可以提供精确的实时时间,…

Nexpose 6.6.278 发布下载,新增功能概览

Nexpose 6.6.278 for Linux & Windows - 漏洞扫描Nexpose 6.6.278 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, released Nov 07, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/ 查看最新版。原创作品,转载请保留出处。 作者主页:s…

BuildCTF-sorin-wp(part)

BuildCTF部分题目wp队员:sorinEZ_ZIP010查找分析发现压缩包,使用foremost分离疑似套娃压缩包,使用开源软件extractnow或者脚本都可以批量压缩,这里使用extractnow得到flagHEX的秘密16进制每两位截取一次转10进制,对比Build的前几个字符的ascll码发现多了128,脚本如下:de…

深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解

本文深入解析 Qwen2.5 大语言模型的分词流程和 BPE 分词算法。通过中英文混合文本示例,详细介绍了从文本规范化、初步分词、字节编码与映射到 BPE 分词的每一步骤。结合代码实现,揭示了 Qwen2.5 如何高效处理多语言文本,帮助读者全面理解 BPE 分词算法的原理和应用……前面我…

37 机器人

机器人由计算机控制的机器,可编程机器人