1. 完成数据库的插入、删除、修改
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
//插入
int do_insert(sqlite3 * db);
//删除
int do_delete(sqlite3 *db);
//修改
int do_update(sqlite3 *db);
int main(int argc, const char *argv[])
{
//创建一个数据库并且打开
sqlite3 *db=NULL;
if(sqlite3_open("./stu.db",&db)!=SQLITE_OK)
{
printf("__%d__ sqlite_open: %s\n",__LINE__,sqlite3_errmsg(db));
printf("error_code: %d\n",sqlite3_errcode(db));
return -1;
}
printf("sqlite3 and open suceess\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)
{
fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
//printf("erro\n");
return -1;
}
printf("create table stu suceess\n");
int num=0;
while(1)
{
printf("\t\t----------欢迎使用此系统---------\n");
printf("\t\t----------1.插入-----------------\n");
printf("\t\t----------2.删除-----------------\n");
printf("\t\t----------3.修改-----------------\n");
printf("\t\t----------4.查询-----------------\n");
printf("请输入编号:");
scanf("%d", &num);
switch(num)
{
case 1:
{
do_insert(db);
break;
}
case 2:
{
do_delete(db);
break;
}
case 3:
{
do_update(db);
break;
}
case 4:
//do_search
case 0:
exit(0);
}
}
if(sqlite3_close(db) != SQLITE_OK)
{
fprintf(stderr,"__%d__ sqlite_close: %s\n",__LINE__,sqlite3_errmsg(db));
fprintf(stderr,"error_code: %d\n",sqlite3_errcode(db));
return -1;
}
printf("sqlite3 close suceess\n");
return 0;
}
int do_insert(sqlite3 * db)
{
int num;
printf("请输入ID值:");
scanf("%d",&num);
char name[128]="";
printf("请输入name:");
scanf("%s",name);
float score;
printf("请输入score值:");
scanf("%f",&score);
sprintf(sql1,"insert into stu values('%d','%s','%f')",num,name,score);
char *errmsg=NULL;
if(sqlite3_exec(db,sql1,NULL,NULL,&errmsg)!= SQLITE_OK)
{
fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
return -1;
}
printf("insert stu suceess\n");
}
int do_delete(sqlite3 *db)
{
char sql2[128]="delete from stu where id=1";
char *errmsg=NULL;
if(sqlite3_exec(db,sql2,NULL,NULL,&errmsg)!= SQLITE_OK)
{
fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
return -1;
}
printf("delete stu suceess\n");
}
int do_update(sqlite3 *db)
{
char sql1[128]="update stu set score=100 where id=1";
char *errmsg=NULL;
if(sqlite3_exec(db,sql1,NULL,NULL,&errmsg)!= SQLITE_OK)
{
fprintf(stderr,"__%d__ sqlite3_exec: %s\n",__LINE__,errmsg);
return -1;
}
printf("delete stu suceess\n");
}
效果图:
