网络编程(3/6)

使用C语言完成数据库的增删改

#include<myhead.h>
int do_add(sqlite3 *ppDb)
{int numb;char name[50];int salary;printf("请输入员工信息:工号、姓名、薪水\n");scanf("%d %s %d",&numb,name,&salary);char sql[128];char *errmsg=NULL;sprintf(sql,"INSERT INTO Worker values(%d,'%s',%d)",numb,name,salary);if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("exec error : %s\n", errmsg);sqlite3_free(errmsg);             	errmsg = NULL;return -1;}printf("员工信息加入成功\n");return 0;
}
int do_delete(sqlite3 *ppDb)
{char buf[128];printf("请输入要删除的员工工号:");fgets(buf,sizeof(buf),stdin);char sql[128]="DELETE form Worker where numb=";strcat(sql,buf);char *errmsg=NULL;if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("exec error : %s\n", errmsg);sqlite3_free(errmsg);             	errmsg = NULL;return -1;}printf("删除成功\n");return 0;
}
int do_update(sqlite3 *ppDb)
{int salary,numb;printf("请输入要更改薪资的员工的员工号:");scanf("%d",&numb);printf("请输入所要更改后的薪水:");scanf("%d",&salary);char sql[128];sprintf(sql,"update Worker set salary=%d where numb=%d",salary,numb);char *errmsg=NULL;if(sqlite3_exec(ppDb,sql,NULL,NULL,&errmsg)!=SQLITE_OK){printf("exec error : %s\n", errmsg);sqlite3_free(errmsg);             	errmsg = NULL;return -1;}printf("更新成功\n");return 0;}
int main(int argc, const char *argv[])
{//定义数据库句柄指针sqlite3 * ppDb = NULL;//打开数据库,如果数据库不存在,则创建数据库//将数据库句柄由参数2返回if(sqlite3_open("./my.db", &ppDb) != SQLITE_OK){printf("sqlite3_open error,errcode=%d, errmsg = %s\n",\sqlite3_errcode(ppDb), sqlite3_errmsg(ppDb));return -1;}printf("sqlite3_open success\n");//创建数据表//1、准备sql语句char sql[128] = "create table if not exists Worker(numb int, name char, salary double)";char *errmsg = NULL;       //存放执行sql语句口的错误信息if(sqlite3_exec(ppDb, sql, NULL, NULL, &errmsg) != SQLITE_OK){printf("exec error : %s\n", errmsg);sqlite3_free(errmsg);             //防止内存泄露errmsg = NULL;return -1;}printf("员工信息表创建成功\n");int menu = -1;         //菜单选项for(;;){system("clear");             //清空之前的终端信息printf("\t\t=======XXX公司员工管理系统=======\n");printf("\t\t======1、添加员工信息=========\n");printf("\t\t======2、删除员工信息=========\n");printf("\t\t======3、修改员工信息=========\n");printf("\t\t======4、查询员工信息=========\n");printf("\t\t======0、退出=========\n");printf("请输入操作码:");          //提示并输入信息scanf("%d", &menu);getchar();                          //吸收回车switch(menu){case 1:{do_add(ppDb);}break;case 2:{do_delete(ppDb);}break;case 3:{do_update(ppDb);}break;case 4:{//do_search(ppDb);}break;case 0:goto END;default:printf("您输入的功能有误,请重新输入!!!\n");}printf("请输入任意键,按回车清屏\n");while(getchar() != '\n');}END://关闭数据库sqlite3_close(ppDb);return 0;
}

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

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

相关文章

Nginx七层的负载均衡使用keepalived实现高可用

目录 一、环境准备 二、两台nginx服务器作为代理服务器,配置nginx的负载均衡 三、Keepalived实现调度器 Proxy-master 与 Proxy-slave机器同时操作安装 备份配置文件 编辑主Proxy-master的配置文件 编辑从 Proxy-slaver的配置文件 四、 启动KeepAlived&#xff08;主备…

CleanMyMac X4.15中文完整免费版下载

CleanMyMac X是一款功能全面的Mac管理软件&#xff0c;它能帮助用户清理无用的文件&#xff0c;监控系统健康&#xff0c;管理启动项&#xff0c;甚至还能移除恶意软件&#xff0c;确保你的Mac保持最佳状态。其直观的界面设计使得新手用户也能轻松上手&#xff0c;一键扫描和清…

【算法】一类支持向量机OC-SVM

【算法】一类支持向量机OC-SVM 前言一类支持向量机OC-SVM 概念介绍示例编写数据集创建实现一类支持向量机OC-SVM完整的示例输出 前言 由于之前毕设期间主要的工具就是支持向量机&#xff0c;从基础的回归和分类到后来的优化&#xff0c;在接触到支持向量机还有一类支持向量机的…

脚手架cli快速创建Vue2/Vue3项目

前言&#xff1a; 本文的nodejs版本是14.21.3 第一步 进入cmd窗口 1、全局安装webpack npm install webpack-g&#xff0c; npm install webpack-g 第二步 2、全局安装vue脚手架 npm install -g vue/cli 第三步 3、初始化vue项目 &#xff08;vue脚手架使用webpack模…

宝妈做什么兼职副业好?适合她们的有哪些?执行力才是关键

现在的宝妈&#xff0c;生完孩子以后&#xff0c;尤其是宝宝上幼儿园之前&#xff0c;为了照顾宝宝&#xff0c;不能去外面上班&#xff0c;所以很多妈妈都为孩子做出了很大的牺牲&#xff0c;但同时又要承担着家庭经济的压力&#xff0c;尤其是现在注重个性独立的时代&#xf…

基于微信小程序的电子商城购物平台的设计与实现(论文+源码)_kaic

摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;电子商城购物平台小程序被用户普遍使用&#xff0c;为方便…

图及图的存储

目录 1.图的相关概念 2.图的存储 2.1.直接存法 1.查询是否存在某条边 2.遍历一个点的所有出边 3..遍历整个图 应用 2.2.邻接矩阵 1.查询是否存在某条边 2.遍历一个点的所有出边 3..遍历整个图 应用 2.3.邻接表 1.查询是否存在某条边 2.遍历一个点的所有出边 3..遍…

RabbitMQ应用场景

1、异步处理 假设想象一下我们做一个商城项目&#xff0c;在用户支付模块中&#xff0c;可能会涉及到其它业务&#xff0c;比如&#xff1a;积分折扣、消费券、短信验证等功能。我们传统的执行步骤是逐步执行&#xff0c;也就是说当用户点击支付 ----> 积分折扣 ----> 消…

Project_Euler-10 题解

Project_Euler-10 题解 题目 思路 没有思路&#xff0c;一个线性筛秒了,只不过最近没发博客有点手生哈哈哈哈哈。 代码 /*************************************************************************> Author: Royi > Mail: royi990001gmail.com > From: > Lan…

2014-2023年上市银行华证ESG评级数据/银行ESG评级数据

2014-2023年上市银行华证ESG评级数据/银行ESG评级数据 1、时间&#xff1a;2014-2023年 2、指标&#xff1a;证券代码、证券简称、华证ESG评级 3、来源&#xff1a;原始数据整理自wind 4、范围&#xff1a;42家银行&#xff1a; 苏农银行、中信银行、贵阳银行、中国银行、…

力扣---接雨水---单调队列+动态规划+双指针

题目&#xff1a; 单调队列思想&#xff1a; 没有思路的小伙伴可以先把这个想清楚哦&#xff1a;力扣hot10---大根堆双端队列-CSDN博客 从上面的图就可以发现&#xff0c;如果柱子呈递减序列&#xff0c;那么不会接到雨水&#xff0c;只要有一个小凸起柱子&#xff0c;那么这个…

智慧城市的前景:数字孪生技术在智慧城市中的应用前景

目录 一、引言 二、数字孪生技术及其在智慧城市中的应用概述 三、数字孪生技术在智慧城市中的应用前景 1、城市规划与仿真模拟 2、智能交通与出行服务 3、智慧环保与可持续发展 4、智慧公共服务与社会治理 5、智慧能源与绿色建筑 四、数字孪生技术在智慧城市中的挑战与…

SpringCloud(21)之SpringCloud Alibaba Nacos实战应用

一、Nacos安装 1.1 Nacos概述 Nacos是Alibaba微服务生态组件中的重要组件之一&#xff0c;主要用它实现应用的动态服务发现、配置管理、 服务管理。Nacos discovery alibaba/spring-cloud-alibaba Wiki GitHub Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简…

Oracle.xs.dll‘ for module DBD::Oracle: load_file:找不到指定的模块

安装Ora2pg时,碰到 异常现象 D:\ProgramFiles\ora2pg>ora2pg -t show_report --estimate_cost -c ora2pg_conf.dist install_driver(Oracle) failed: Cant load D:/ProgramFiles/strawberry/perl/site/lib/auto/DBD/Oracle/Oracle.xs.dll for module DBD::Oracle: load_fil…

vulhub靶场-matrix-breakout-2-morpheus

下载&部署 从官网中下载 https://www.vulnhub.com/entry/matrix-breakout-2-morpheus,757/ 下载完成后&#xff0c;在vmware中打开&#xff0c;选择刚刚下载的ova文件 vmware打开文件后需要将刚导入的机器重新启动 再检查下网卡是否是和kali在同一张网卡下就可以开始打靶了…

设计模式学习笔记 - 规范与重构 - 5.如何通过封装、抽象、模块化、中间层解耦代码?

前言 《规范与重构 - 1.什么情况下要重构&#xff1f;重构什么&#xff1f;又该如何重构&#xff1f;》讲过&#xff0c;重构可以分为大规模高层重构&#xff08;简称 “大型重构”&#xff09;和小规模低层次重构&#xff08;简称 “小型重构”&#xff09;。大型重构是对系统…

谷粒商城【成神路】-【10】——缓存

目录 &#x1f9c2;1.引入缓存的优势 &#x1f953;2.哪些数据适合放入缓存 &#x1f32d;3.使用redis作为缓存组件 &#x1f37f;4.redis存在的问题 &#x1f9c8;5.添加本地锁 &#x1f95e;6.添加分布式锁 &#x1f95a;7.整合redisson作为分布式锁 &#x1f697…

【教程】使用小米换机来迁移数据

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 1、在新旧手机上都下载安装小米换机app&#xff1a;小米换机-小米应用商店 2、在新手机上&#xff0c;选择旧手机类型 3、授予权限 4、在旧手机上&#xff0c;授予权限 4、输入锁屏密码 5、选择发现的新手机 6、等…

EMC整改

EMC包括EMI和EMS&#xff0c;其中EMI由辐射干扰RE、传导干扰CE、谐波电流Harmonics、闪烁Flicker组成&#xff0c;EMS由静电抗扰度ESD、电快速瞬态脉冲群EFT、电压跌落DIP、传导抗扰度CS、辐射抗扰度RS、浪涌抗扰度surge、工频磁场抗扰度PMS。新产品生产出来但凡要做认证&#…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavDestination)

作为子页面的根容器&#xff0c;用于显示Navigation的内容区。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 该组件从API Version 11开始默认支持安全区避让特性(默认值为&#xff1a;expandSaf…