网络编程:数据库实现增删改

1.数据库实现增删改

程序代码:

  1 #include<myhead.h>
  2 //定义添加数据函数
  3 int do_add(sqlite3*ppDb)
  4 {
  5     //准备sql语句
  6     int add_numb;//工号
  7     char add_name[20];//姓名
  8     double add_salary;
  9     printf("请输入要添加的工号:");
 10     scanf("%d",&add_numb);
 11     printf("请输入要添加的姓名:");
 12     scanf("%s",add_name);
 13     printf("请输入要添加的薪资:");
 14     scanf("%lf",&add_salary);
 15     getchar();//吸收回车
 16     char sql[128]="";
 17     sprintf(sql,"insert into Worker(numb,name,salary) values(%d , %s , %lf  )",\
 18             add_numb,add_name,add_salary);
 19     printf("sql=%s\n",sql);
 20     //执行sql语句
 21     char*errmsg=NULL;
 22     if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
 23     {
 24         printf("sqlite3_exec error:%s\n",errmsg);
 25         //释放errmsg空间
 26         sqlite3_free(errmsg);
 27         errmsg=NULL;
 28         return -1;
 29     }
 30     printf("添加成功\n");
 31     return 0;
 32 }
 33 //定义删除数据函数
 34 int do_delete(sqlite3*ppDb)
 35 {
 36 
 37 }
 38 int main(int argc, const char *argv[])
 39 {
 40     //定义数据库操作句柄指针
 41     sqlite3*ppDb=NULL;
 42     //打开数据库,不存在创建
 43     //将数据库句柄由参数2返回
 44     if(sqlite3_open("./my.db",&ppDb)!=SQLITE_OK)
 45     {
 46         printf("sqlite3_open error,errcode=%d,errmsg=%s\n",\
 47                 sqlite3_errcode(ppDb),sqlite3_errmsg(ppDb));
 48         return -1;
 49     }
 50     printf("sqlite3_open success\n");
 51     //创建数据表
 52     //准备sql语句
 53     char sql[128]="create table if not exists Worker(numb int,name char,salary double)";
 54     char*errmsg=NULL;//存放执行sql语句错误信息
 55     if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK)
 56     {
 57         printf("exec error:%s\n",errmsg);
 58         sqlite3_free(errmsg);//防止内存泄露
 59         errmsg=NULL;
 60         return -1;
 61     }
 62     printf("员工信息表创建成功\n");
 63     int menu=-1;//菜单选项
 64     while(1)
 65     {
 66         system("clear");//清空之前终端信息
 67         printf("\t\t=====公司员工管理系统=====\n");
 68         printf("\t\t=====1.添加员工信息=====\n");
 69         printf("\t\t=====2.删除员工信息=====\n");
 70         printf("\t\t=====3.修改员工信息=====\n");
 71         printf("\t\t=====4.查询员工信息=====\n");
 72         printf("\t\t=====0.退出系统=====\n");
 73 
 74         printf("请输入操作码:");//提示并输入信息
 75         scanf("%d",&menu);
 76         getchar();//吸收回车
 77         switch(menu)
 78         {
 79         case 1:
 80             {
 81                 do_add(ppDb);
 82             }
 83             break;
 84         case 2:
 85             {
 86                 //  do_delete(ppDb);
 87             }
 88             break;
 89         case 3:
 90             {
 91                 //  do_update(ppDb);
 92             }
 93             break;
 94         case 4:
 95             {
 96                 //  do_search(ppDb);
 97             }
 98             break;
 99         case 0:
100             goto END;
101         default:printf("输入功能有误,请重新输入!!!\n");
102         }
103         printf("任意键回车清屏\n");
104         while(getchar()!='\n');
105     }
106 END:
107     //关闭数据库
108     sqlite3_close(ppDb);
109     return 0;
110 }                                                                                                                                                                                                                                                                                                                                                                                                                    
~                               

运行结果:

流程图

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript极速入门(1)

初识JavaScript JavaScript是什么 JavaScript(简称JS),是一个脚本语言,解释型或者即时编译型语言.虽然它是作为开发Web页面的脚本语言而著名,但是也应用到了很多非浏览器的环境中. 看似这门语言叫JavaScript,其实在最初发明之初,这门语言的名字其实是在蹭Java的热度,实际上和…

f5——>字符串三角

暴力破解&#xff0c;双层循环&#xff0c;注意复制到新列表用append&#xff0c;这样更不容易出错 格式还是“”.join(str)

HBase 的安装与部署

目录 1 启动 zookeeper2 启动 Hadoop3 HBase 的安装与部署4 HBase 高可用 1 启动 zookeeper [huweihadoop101 ~]$ bin/zk_cluster.sh start2 启动 Hadoop [huweihadoop101 ~]$ bin/hdp_cluster.sh start3 HBase 的安装与部署 &#xff08;1&#xff09;将 hbase-2.0.5-bin.tar.…

git:git revert 和git reset 回退版本的使用方式

目录 git revert还原某些现有提交git reset删除提交参考 git revert还原某些现有提交 中文文档&#xff1a;https://git-scm.com/docs/git-revert/zh_HANS-CN 版本会递增&#xff0c;不影响之前提交的内容 例如&#xff1a;撤销记录为 abc123 的提交 git revert abc123git r…

解决/sys/kernel/debug/下没有任何文件的

问题&#xff1a; /sys/kernel/debug目录下没有任何信息 解决&#xff1a; 首先检查Debug Filesystem是否选中&#xff0c;其位置是&#xff1a; Kernel hacking -> Compile-time checks and compiler options -> Debug Filesystem 打开configs文件查看是否为y: arch/arm…

视频压缩软件哪个好用?强推这五款压缩软件

在数字化时代&#xff0c;我们每天都会接触到大量的视频内容&#xff0c;无论是在工作中制作视频&#xff0c;还是在日常生活中分享或观看。然而&#xff0c;随着高清晰度和4K视频的普及&#xff0c;视频文件的大小也逐渐增加&#xff0c;对存储空间和网络传输速度提出了更高的…

Android14音频进阶:AIDL数据转换关键图解(五十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

自研在线CAD系统介绍

去年调研了已有的在线的CAD系统(悟空CAD、维杰地图、梦想控件)&#xff0c;基本上都是按年收费&#xff0c;还相当的贵&#xff0c;基于此&#xff0c;就萌生了自己研发CAD系统的想法&#xff0c;从技术选型、框架设计、代码实现基本为都是自研实现。已经有了初步的成果。 10M…

智能设备 app 设计 —— 蓝蓝 UI 设计公司

今天给大家推荐是智能设备app设计&#xff0c;随着智能设备的逐渐普及随之操作app也越来越多&#xff0c;希望能给大家带来灵感 #日常灵感 #创意设计#UI提升#ui设计#app #设计案例分享|#设计 #产品设计#产品设计#设计灵感 #B端产品经理 #ui #产品 #美工 #交互 #产品经理 #开发 …

如何基于 esp-at 固件测试 TCP (UART 转 WiFi 透传)吞吐?

测试工具&#xff1a; windows/Ubuntu/Android&#xff08;电脑或手机与 ESP 开发板连接相同路由器&#xff09;iperf2 工具ESP 系列的开发板USB-TTL 串口调试工具路由器 测试固件&#xff1a; AT 固件 AT 固件硬件接线说明 不同环境下的 Iperf 工具安装说明 Iperf 工具用于…

2024 年 AI 辅助研发趋势:从研发数字化到 AI + 开发工具 2.0,不止于 Copilot

在上一年里&#xff0c;已经有不少的企业在工具链上落地了生成式 AI&#xff0c;结合我们对于这些企业的分析&#xff0c;以及最近在国内的一些 “新技术” 趋势&#xff0c;诸如于鸿蒙原生应用的初步兴起。从这些案例与趋势中&#xff0c;我们也看到了一些新的可能方向。 结合…

论文解读:Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning

文章汇总 总体问题 通过对整体分类的训练(文章结构图中ClassifierBaseline)&#xff0c;即在整个标签集上进行分类&#xff0c;它可以得到与许多元学习算法相当甚至更好的嵌入。这两种工作之间的界限尚未得到充分的探索&#xff0c;元学习在少样本学习中的有效性仍然不清楚。…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍&#xff1a;Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一&#xff0c;2024年的版本带来了一系列令人印象深刻的功能&#xff1a; AI增强的自动选择和蒙版工具&#xff1a;现在&#xff0c;用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

算法刷题day23:双指针

目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法&#xff0c;主要是用来处理枚举子区间的事&#xff0c;时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) &#xf…

全志D1s开发板裸机开发之坏境搭建

环境搭建 开发板介绍 张天飞老师编写的《RISC-V体系结构编程与实践》&#xff0c;里面的源码是基于 QEMU 模拟器的&#xff0c;可以认为它是一款虚拟的开发板。如果需要在真实开发板上学习&#xff0c;可以使用百问网的 DongshanPI-D1S 开发板。 DongshanPI-D1S 是百问网推出…

六、矩阵问题

73、矩阵置零&#xff08;中等&#xff09; 题目描述 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a…

探索AI视频创新:Sora的奇迹

探索AI视频创新&#xff1a;Sora的奇迹 随着科技的不断演进&#xff0c;AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中&#xff0c;OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出&#xff0c;正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

Net8集成AutoMap

一、概述 使用Net8 搭建WebApi&#xff0c;需要集成AutoMap&#xff0c;方便开发。 二、实现 2.1 安装 AutoMapper 2.2 创建AutoProfile配置类继承Profile namespace AnNeng.Cad.WebApi.Config {using AnNeng.Service.Application.CadAndOss.Dto;using AnNeng.Service.Appl…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的&#xff0c;这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过&#xff0c;发现可以通过了。 3.由之前的做题经验可知&#xff0c;这道题会涉及到…

电动车着火事故,敲响梯控安全警钟

文章来源&#xff1a;电动车着火事故&#xff0c;敲响梯控安全警钟_专栏_易百纳技术社区 方案背景&#xff1a; 近年来&#xff0c;电动车起火事故屡有发生。如南京雨花台“223”火灾事故&#xff0c;造成了重大的人员伤亡。还有北京在 2023 年 12 月 28 日发生了一起村民自建…