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

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 }                                                                                                                                                                                                                                                                                                                                                                                                                    
~                               

运行结果:

流程图

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

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

相关文章

18-Java迭代器模式 ( Iterator Pattern )

Java迭代器模式 摘要实现范例 迭代器模式&#xff08;Iterator Pattern&#xff09;用于顺序访问集合对象的元素&#xff0c;不需要知道集合对象的底层表示 迭代器模式是 Java 和 .Net 编程环境中非常常用的设计模式 迭代器模式属于行为型模式 摘要 1. 意图 提供一种方法…

sql server使用逗号,分隔保存多个id的一些查询保存

方案一&#xff0c;前后不附加逗号&#xff1a; 方案二&#xff0c;前后附加逗号&#xff1a; 其他保存方案&#xff1a; &#xff08;这里是我做一个程序的商家日期规则搞得&#xff0c;后面再补具体操作&#xff09;&#xff1a; 1,2,3 | 1,2,3 | 1,2,3; 1,2,3 &#xff1…

Unity性能优化篇(十二) 音频优化之导入音频后的属性设置

Unity支持后缀为.wav、.ogg、.mp3的音频文件&#xff0c;但建议使用.wav&#xff0c;因为Unity对它的支持特别好。 注意&#xff1a;Unity在构建项目时总是会自动重新压缩音频文件&#xff0c;因此无需刻意提前压缩一个音频文件再导入Unity&#xff0c;因为这样只会降低该音频文…

wsl 安装 ubuntu

文章目录 打开Windows PowerShell查看可安装的ubuntu安装相对应的ubuntu将用户添加到sudoers文件中&#xff0c;并赋予了该用户sudo权限。 打开Windows PowerShell 以管理员的身份运行 查看可安装的ubuntu wsl.exe --list --online安装相对应的ubuntu wsl --install 版本…

【云服务】-云服务 的基础

企业IT架构的演进历史 云计算的定义 云计算是一种模型&#xff0c;可以实现随时随地便携地可配置资源共享池中所需的资源&#xff08;例如&#xff0c;网络、服务器、存储、应用及服务&#xff09;。资源能快速供应并且释放&#xff0c;使管理资源的工作量和与服务提供商的交…

中小企业应该如何应用人才测评系统

人才测评系统应用场景越来越多&#xff0c;很多企业也开始通过人才测评系统&#xff0c;来对员工的性格特点和岗位进行评估&#xff0c;比如作为项目经理的我&#xff0c;总是想先从员工内部选拔领导者&#xff0c;然而这就有很大的难度&#xff0c;那么团队建设之初&#xff0…

Python小白福利之enumerate函数

enumerate函数用于遍历序列中的元素以及它们的下标。 enumerate函数说明&#xff1a; 函数原型&#xff1a;enumerate(sequence, [start0]) 功能&#xff1a;将可循环序列sequence以start开始分别列出序列数据和数据下标 即对一个可遍历的数据对象(如列表、元组或字符串)&a…

protobufjs使用教程,支持proto文件打包成typescript或javascript脚本

官方链接&#xff1a;https://docs.cocos.com/creator/manual/zh/scripting/modules/example.html 第一步&#xff0c;安装nodejs。&#xff08;自行安装&#xff09; 安装教程可参考 https://www.runoob.com/nodejs/nodejs-install-setup.html 第二步&#xff0c;创建cocos…

AD导入FreeCAD生成的step文件后颜色丢失?

最近在绘制一个模组&#xff0c;本身是想在网上找是否有类似的3D模型&#xff0c;但是似乎没有&#xff0c;此时我就自己用FreeCAD画了一个&#xff0c;但是在导入到AD中就出现了问题 使用freecad画出的模型样式&#xff1a; 导入到AD中去后的样式&#xff1a; freecad中导出时…

passwd: Authentication token manipulation error

passwd: Authentication token manipulation error 身份验证令牌操作错误。 可能原因&#xff1a; 1、密码文件无修改权限&#xff08;有i权限&#xff09; lsattr /etc/{passwd,shadow} 取消方法 chattr -i /etc/passwd chattr -i /etc/passwd 2、/文件系统无空间或者无inod…

GOWIN软件使用

1、管脚复用 根据自己需求把复用管脚勾选上&#xff0c;管脚当普通管脚使用 JTAG设置成普通管脚&#xff0c;下载程序时候JTAGEN管脚需要上拉高电平&#xff08;可以在下载器线上上拉个电阻&#xff0c;下载后把下载线拔走&#xff0c;否则JTAG管脚无法使用&#xff0c;管脚充…

Linux - 反弹Shell

概念 Shell 估计大家都不陌生&#xff0c;简单来说&#xff0c;就是实现用户命令的接口&#xff0c;通过这个接口我们就能实现对计算机的控制&#xff0c;比如我们常见的 ssh 就是执行的 Shell 命令实现对远程对服务器的控制。 那反弹 Shell &#xff08; Reverse Shell&…

前端将html导出pdf文件解决分页问题

这是借鉴了qq_251025116大佬的解决方案并优化升级完成的&#xff0c;原文链接 1.安装依赖 npm install jspdf html2canvas2.使用方法 import htmlToPdffrom ./index.jsconst suc () > {message.success(success);};//记得在需要打印的div上面添加 idlet dom document.que…

2024内衣洗衣机测评推荐:希亦、小吉、鲸立综合对比哪个牌子好?

对于那些追求品质生活、分类洗涤的用户而言&#xff0c;小型洗衣机可以满足我们对不同类型衣物分开洗涤的需求&#xff0c;例如将内衣、袜子等小件衣物与外套等分开洗涤&#xff0c;以保持衣物的清洁和卫生。并且如果您家中有宝宝&#xff0c;或者您对个人卫生和健康有较高要求…

Spring面向切片编程AOP概念及相关术语(一)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

分享几种简约大方的ListView外观设计(qml)

一、前言 最近才学到这里&#xff0c;感觉基础的 ListView 很丑&#xff0c;就现学现用弄个几个自认为还行的设计给大家献丑了。如果你觉得还不错&#xff0c;代码就在下面拿去直接用&#xff0c;顺便给我点个赞哈 ~ 感谢感谢 ~ 二、正文 设计1 第一种就是正常的左侧边栏&am…

redis知识点

一、关系型数据库和非关系型数据库 关系型数据库&#xff08;RDBMS&#xff09;&#xff1a;指采用了关系模型来组织数据的数据库&#xff0c;&#xff0c;关系模型指的就是二维表格模型&#xff0c;而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 ①特…

无纸化电子sop系统帮助企业降低成本,提高目视化管理

无纸化电子SOP系统是一种基于数字化技术的生产管理系统&#xff0c;旨在优化员工的生产规范&#xff0c;提高产品质量。随着制造业的发展和数字化转型&#xff0c;越来越多的企业开始采用无纸化电子SOP系统来替代传统的纸质操作规程&#xff0c;以提升生产效率、降低成本、确保…

MySQL 学习笔记(基础篇 Day2)

「写在前面」 本文为黑马程序员 MySQL 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. MySQL 学习笔记&#xff08;基础篇 Day1&#xff09; 目录 3 函数 3.1 字符串函数 3…

【人工智能课程】计算机科学博士作业三

【人工智能课程】计算机科学博士作业三 来源&#xff1a;李宏毅2022课程第10课的作业 1 图片攻击概念 图片攻击是指故意对数字图像进行修改&#xff0c;以使机器学习模型产生错误的输出或者产生预期之外的结果。这种攻击是通过将微小的、通常对人类难以察觉的扰动应用于输入…