赞
踩
目录
void printf_init(sqlite3 *db)
{
while(1)
{
printf("/***************************************************/\n");
printf("/* 1.插入数据 2.删除数据 3.更新数据 4.查看表 5.退出*/\n");
printf("/***************************************************/\n");
printf("input data:");
int cmd;
scanf("%d",&cmd);
getchar();
if(cmd == 5)
{
sqlite3_close(db);
exit(0);
}
switch(cmd)
{
case 1:insert_list(db);break;
case 2:delete_list(db);break;
case 3:update_list(db);break;
case 4:select_list(db);break;
default:printf("error\n");exit(0);
}
}
}
void insert_list(sqlite3 *db)
{
char sql[1024]={0};
int id,age,ret;
float score;
char name[16]={0};
char *errmsg;
printf("input id:");
scanf("%d",&id);
getchar();
printf("input name:");
scanf("%s",name);
getchar();
printf("input age:");
scanf("%d",&age);
getchar();
printf("input score:");
scanf("%f",&score);
getchar();sprintf(sql,"insert into stu values(%d,'%s',%d,%f);",id,name,age,score);
ret = sqlite3_exec(db, sql,NULL,NULL,&errmsg);
if(ret != 0)
{
printf("insert %s\n",errmsg);
}else{
//printf("insert success\n");
}
}
void delete_list(sqlite3 *db)
{
int id,ret;
char sql[1024]={0};
char *errmsg;
printf("input you want delete id:");
scanf("%d",&id);
getchar();
ret = do_id(db,id);
if(ret < 0)
{
return ;
}
sprintf(sql,"delete from stu where id = %d;",id);
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
if(ret != 0)
{
printf("delete %s\n",errmsg);
exit(0);
}else
{
//printf("delete success\n");
}
}
void update_list(sqlite3 *db)
{
int id,ret,cmd,flag;
char sql[1024]={0};
while(1)
{
printf("input you want update id:");
scanf("%d",&id);
getchar();
flag = do_id(db,id);
if(flag > 0)
{
printf("/*************************************************/\n");
printf("/* set: 1.name 2.age 3.score 4.quit */\n");
printf("/*************************************************/\n");
scanf("%d",&cmd);
getchar();
if(cmd == 4)
{
//printf("set quiting...\n");
break;
}
switch(cmd)
{
case 1:set_updata_name(db,id);break;
case 2:set_updata_age(db,id);break;
case 3:set_updata_score(db,id);break;
defalut:printf("error\n");
}
}
else{
break;
}
}
}
void select_list(sqlite3 *db)
{
int id,ret,cmd;
char *errmsg;
char sql[1024]={0};while(1)
{
printf("/***********************************/\n");
printf("/* 1.查看单个id 2.查看所有 3.退出*/\n");
printf("/***********************************/\n");
printf("input:");
scanf("%d",&cmd);
getchar();
if(cmd == 3)
{
//printf("sqlect quiting...\n");
break;
}
switch(cmd)
{
case 1:do_select_one(db);break;
case 2:do_select_all(db);break;
default:printf("select error...\n");break;
}
}
}
- #include <stdio.h>
- #include <sqlite3.h>
- #include <stdlib.h>
- #include <unistd.h>
-
-
- #define table "1_data.db"
-
- int do_id(sqlite3 *db,int id)
- {
- int num;
- char sql[1024]={0};
- char *errmsg;
- char *pzErrmsg;
- char **pazResult;
- int pnRow,pnColumn;
-
- sprintf(sql,"select * from stu;");
-
- if( sqlite3_get_table(db,sql,&pazResult,&pnRow,&pnColumn,&pzErrmsg) != 0)
- {
- printf("get_table:%s",pzErrmsg);
- }else
- {
- int flag=0;
- int i,j,ret;
- int index=pnColumn;
- for(i=0;i<pnRow;i++)
- {
- ret = atoi(pazResult[index]);
- for(j=0;j<pnColumn;j++)
- {
- if((ret == id) & (0==j))
- {
- flag=1;
- }
- index++;
- }
- }
- if(flag == 1)
- {
- return 1;
- }else
- {
- printf("id not exit...\n");
- return -1;
- }
- }
-
- }
- void insert_list(sqlite3 *db)
- {
- char sql[1024]={0};
- int id,age,ret;
- float score;
- char name[16]={0};
- char *errmsg;
- printf("input id:");
- scanf("%d",&id);
- getchar();
- printf("input name:");
- scanf("%s",name);
- getchar();
- printf("input age:");
- scanf("%d",&age);
- getchar();
- printf("input score:");
- scanf("%f",&score);
- getchar();
-
- sprintf(sql,"insert into stu values(%d,'%s',%d,%f);",id,name,age,score);
- ret = sqlite3_exec(db, sql,NULL,NULL,&errmsg);
- if(ret != 0)
- {
- printf("insert %s\n",errmsg);
- }else{
- //printf("insert success\n");
- }
- }
- void delete_list(sqlite3 *db)
- {
- int id,ret;
- char sql[1024]={0};
- char *errmsg;
- printf("input you want delete id:");
- scanf("%d",&id);
- getchar();
- ret = do_id(db,id);
- if(ret < 0)
- {
- return ;
- }
- sprintf(sql,"delete from stu where id = %d;",id);
- ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg);
- if(ret != 0)
- {
- printf("delete %s\n",errmsg);
- exit(0);
- }else
- {
- //printf("delete success\n");
- }
- }
- void do_select_one(sqlite3 *db)
- {
- int id,ret;
- char sql[1024]={0};
- char *errmsg;
- printf("input you want select id:");
- scanf("%d",&id);
- getchar();
- sprintf(sql,"select * from stu where id = %d",id);
- char *pzErrmsg;
- char **pazResult;
- int pnRow,pnColumn;
-
- if(sqlite3_get_table(db,sql,&pazResult,&pnRow,&pnColumn,&pzErrmsg) != 0)
- {
- printf("get_table:%s",pzErrmsg);
- }else
- {
- int i,j;
- int index=pnColumn;
- int num;
- int ret;
- int flag=0;
- for(i=0;i<pnRow;i++)
- {
- ret = atoi(pazResult[index]);
- for(j=0;j<pnColumn;j++)
- {
- if((ret == id) & (0==j))
- {
- flag=1;
- for(num=0;num<pnColumn;num++)
- {
- printf("%-8s ", pazResult[index]);
- index++;
- }
- }
- index++;
- }
- printf("\n");
- }
- if(flag == 0){
- printf("not select id...\n");
- }
- }
- }
- void do_select_all(sqlite3 *db)
- {
- int id,ret;
- char sql[1024]={0};
- char *errmsg;
-
- sprintf(sql,"select * from stu;");
- char *pzErrmsg;
- char **pazResult;
- int pnRow,pnColumn;
-
- if( sqlite3_get_table(db,sql,&pazResult,&pnRow,&pnColumn,&pzErrmsg) != 0)
- {
- printf("get_table:%s",pzErrmsg);
- }else
- {
- int i,j;
- int index=0;
- if((pnRow == 0) & (pnColumn ==0))
- {
- printf("id not exit...\n");
- return ;
- }
-
- for(i=0;i<=pnRow;i++)
- {
- for(j=0;j<pnColumn;j++)
- {
- printf("%-8s ",pazResult[index++]);
- }
- printf("\n");
- }
- }
- }
- void select_list(sqlite3 *db)
- {
- int id,ret,cmd;
- char *errmsg;
- char sql[1024]={0};
-
- while(1)
- {
- printf("/***********************************/\n");
- printf("/* 1.查看单个id 2.查看所有 3.退出*/\n");
- printf("/***********************************/\n");
- printf("input:");
- scanf("%d",&cmd);
- getchar();
- if(cmd == 3)
- {
- //printf("sqlect quiting...\n");
- break;
- }
- switch(cmd)
- {
- case 1:do_select_one(db);break;
- case 2:do_select_all(db);break;
- default:printf("select error...\n");break;
- }
- }
- }
- void set_updata_name(sqlite3 *db,int id)
- {
- char name[128]={0};
- int ret;
- char sql[1024]={0};
- char *errmsg;
- printf("set name:");
- scanf("%s", name);
- getchar();
- sprintf(sql,"update stu set name='%s' where id=%d;",name, id);
- ret = sqlite3_exec(db,sql,NULL,NULL,&errmsg);
- if(ret != 0)
- {
- printf("update name :%s\n",errmsg);
- exit(0);
- }else
- {
- //printf("update name success\n");
- }
- }
- void set_updata_age(sqlite3 *db,int id)
- {
- int age;
- int ret;
- char sql[1024]={0};
- char *errmsg;
- printf("set age:");
- scanf("%d",&age);
- getchar();
- sprintf(sql,"update stu set age = %d where id=%d;",age,id);
- ret = sqlite3_exec(db,sql,NULL,NULL,&errmsg);
- if(ret != 0)
- {
- printf("update:%s\n",errmsg);
- exit(0);
- }else
- {
- //printf("update age success\n");
- }
- }
- void set_updata_score(sqlite3 *db,int id)
- {
- float score;
- int ret;
- char sql[1024]={0};
- char *errmsg;
- int flag;
- printf("set score:");
- scanf("%f",&score);
- getchar();
- sprintf(sql,"update stu set score = %f where id=%d;",score,id);
- ret = sqlite3_exec(db,sql,NULL,NULL,&errmsg);
- if(ret != 0)
- {
- printf("update:%s\n",errmsg);
- exit(0);
- }else
- {
- //printf("update score success\n");
- }
- }
- void update_list(sqlite3 *db)
- {
- int id,ret,cmd,flag;
- char sql[1024]={0};
- while(1)
- {
- printf("input you want update id:");
- scanf("%d",&id);
- getchar();
- flag = do_id(db,id);
- if(flag > 0)
- {
- printf("/*************************************************/\n");
- printf("/* set: 1.name 2.age 3.score 4.quit */\n");
- printf("/*************************************************/\n");
- scanf("%d",&cmd);
- getchar();
- if(cmd == 4)
- {
- //printf("set quiting...\n");
- break;
- }
- switch(cmd)
- {
- case 1:set_updata_name(db,id);break;
- case 2:set_updata_age(db,id);break;
- case 3:set_updata_score(db,id);break;
- defalut:printf("error\n");
- }
- }
- else{
- break;
- }
- }
- }
- void printf_init(sqlite3 *db)
- {
- while(1)
- {
- printf("/***************************************************/\n");
- printf("/* 1.插入数据 2.删除数据 3.更新数据 4.查看表 5.退出*/\n");
- printf("/***************************************************/\n");
- printf("input data:");
- int cmd;
- scanf("%d",&cmd);
- getchar();
- if(cmd == 5)
- {
- //printf("quiting...\n");
- exit(0);
- }
- switch(cmd)
- {
- case 1:insert_list(db);break;
- case 2:delete_list(db);break;
- case 3:update_list(db);break;
- case 4:select_list(db);break;
- default:printf("error\n");exit(0);
- }
- }
- }
-
- int main(int argc,char *argv[])
- {
- sqlite3 *db;
-
- char sql[1024]={0};
- char table_name[32]={0};
- int ret = -1;
-
- ret = access(table, F_OK);
- if(ret == 0)
- {
- unlink(table);
- }
- ret = sqlite3_open(table, &db);
- if(ret != 0)
- {
- printf("open %s\n",sqlite3_errmsg(db));
- exit(0);
- }else{
- //printf("open %s success\n",table);
- }
- char *errmsg;
- ret = sqlite3_exec(db,"create table stu (id integer, name text, age integer, score integer);",NULL,NULL,&errmsg);
- if(ret != 0)
- {
- printf("create:%s\n",errmsg);
- exit(0);
- }else
- {
- //printf("create table stu success\n");
- }
- printf_init(db);
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。