#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sqlite3.h>
int do_insert(sqlite3* db)
{
int id;
char name[20] = "";
float score;
printf("请输入id>>> ");
scanf("%d", &id);
getchar();
printf("请输入name>>> ");
scanf("%s", name);
getchar();
printf("请输入score>>> ");
scanf("%f", &score);
getchar();
char sql[128] = "";
sprintf(sql, "insert into stu values (%d, \"%s\", %g)", id, name, score);
char *errmsg = NULL;
if(sqlite3_exec(db, sql, NULL, NULL, &errmsg) != SQLITE_OK)
{
fprintf(stderr, "__%d__ sqlite3_exec: %s\n", __LINE__, errmsg);
return -1;
}
printf("insert into stu success __%d__\n", __LINE__);
return 0;
}
int main(int argc, const char *argv[])
{
//创建并打开一个数据库
sqlite3 *db = NULL;
if(sqlite3_open("./my.db",&db) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_open:%s %d __%d__\n",\
sqlite3_errmsg(db),sqlite3_errcode(db),__LINE__);
return -1;
}
printf("open database my.db success\n");
//创建一个表格 create table stu (id int,name char,score float);
//数据库中sql语句怎么写,这里就怎么写
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,"sqlite3_open:%s %d __%d__\n",\
errmsg,sqlite3_errcode(db),__LINE__);
return -1;
}
printf("create table stu success\n");
char choose = 0;
while(1)
{
printf("-------------------------\n");
printf("---------1.插入----------\n");
printf("---------2.删除----------\n");
printf("---------3.修改----------\n");
printf("---------4.查询----------\n");
printf("---------5.退出----------\n");
printf("-------------------------\n");
printf("请输入>>> ");
choose = getchar();
while(getchar()!=10);
switch(choose)
{
case '1':
do_insert(db);
break;
case '2':
// do_delete();
break;
case '3':
// do_update();
break;
case '4':
// do_select(db);
break;
case '5':
goto END;
default:
printf("输入错误,请重新输入\n");
}
}
END:
//关闭数据库
if(sqlite3_close(db) != SQLITE_OK)
{
fprintf(stderr,"sqlite3_close:%s %d __%d__\n",\
sqlite3_errmsg(db),sqlite3_errcode(db),__LINE__);
return -1;
}
return 0;
}
网络编程(数据库插入部分代码)
最新推荐文章于 2024-07-24 08:30:35 发布