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