只有增删改
#include<stdio.h>
#include<string.h>
#include<sqlite3.h>
#include<stdlib.h>char *insert_db();
char *delete_db();
char *update_db();
int main (int argc, const char *argv[])
{
//创建并打开数据库
sqlite3 *db = NULL;
if(sqlite3_open("./test.db",&db) != SQLITE_OK)
{
printf("line :%d sqlite3_open:[%d]%s\n",__LINE__,sqlite3_errcode(db),sqlite3_errmsg(db));
return -1;
}
printf("sqlite3_open success\n");
//先创建数据库表
char sql[128] = "create table if not exists stu (id int ,name char,score float)";
char *errmsg = NULL;
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
{
printf("line:%d sqlite3_exec:%s\n",__LINE__,errmsg);
return -1;
}
while(1)
{
printf("---------------------\n");
printf("---------1.插入------\n");
printf("---------2.删除------\n");
printf("---------3.修改------\n");
printf("---------4.查询------\n");
printf("---------5.退出------\n");
printf("---------------------\n");
char c = 0;
scanf("%c",&c);
while(getchar() != 10);
switch(c)
{
case '1':
strcpy(sql,insert_db());
break;
case '2':
strcpy(sql,delete_db());
break;
case '3':
strcpy(sql,update_db());
break;
case '4':
break;
case '5':
goto END;
default:
printf("输入格式不正确,重新输入\n");
}
printf("%s\n",sql);
if(sqlite3_exec(db,sql,NULL,NULL,&errmsg) != SQLITE_OK)
{
printf("line:%d sqlite3_exec:%s\n",__LINE__,errmsg);
return -1;
}
memset(sql,0,sizeof(sql));
}
END:
//关闭
if(sqlite3_close(db) != SQLITE_OK)
{
printf("line :%d sqlite3_close:[%d]%s\n",__LINE__,sqlite3_errcode(db),sqlite3_errmsg(db));
return -1;
}
db = NULL;
return 0;
}char * insert_db()
{
printf("请输入您要插入的信息 id name score\n ");
int id = 0;
char name[20] = "";
float score = 0;
scanf("%d%s%f",&id,name,&score);
while(getchar() != 10);
char sql[128] = "";
sprintf(sql,"insert into stu values (%d,\"%s\",%.2f);",id,name,score);
char *buf = sql;
return buf;
}char * delete_db()
{
printf("请输入您要删除的id行号\n");
int id = 0;
scanf("%d",&id);
while(getchar() != 10);
char sql[128] = "";
sprintf(sql,"delete from stu where id = %d",id);
char *buf = sql;
return buf;
}
char *update_db()
{
printf("请输入您要修改的id行号以及要修改的 name score\n");
int id = 0;
char name[20] = "";
float score = 0;
scanf("%d%s%f",&id,name,&score);
while(getchar() != 10);
char sql[128] = "";
sprintf(sql,"update stu set name = \"%s\",score = %f where id = %d",name,score,id);
char * buf = sql;
return buf;
}