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

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

运行结果:

流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值