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 }
~
运行结果:
流程图