数据库操作
#include <stdio.h>
#include <sqlite3.h>
int main()
{
sqlite3 *db;
int ret = sqlite3_open("student.db",&db);
if(ret != SQLITE_OK)
{
printf("数据库打开失败\n");
return -1;
}
char *errmsg;
const char *sql = "create table if not exists student(ID INTEGER,name TEXT,sex TEXT,age INTEGER,primary key(ID))";
ret = sqlite3_exec(db, sql, NULL, NULL, &errmsg );
if(ret != SQLITE_OK)
{
printf("exec 失败: %s\n",errmsg);
return -1;
}
int id = 1;
char name[20] = "Zhang";
char sex[10] = "N";
int age = 18;
char str[100];
sprintf(str,"insert into student values(NULL, '%s', '%s', %d)",name, sex, age);
ret = sqlite3_exec(db, str, NULL, NULL, &errmsg );
if(ret != SQLITE_OK)
{
printf("exec 失败: %s\n",errmsg);
return -1;
}
sqlite3_close(db);
return 0;
}
查询操作
#include <stdio.h>
#include <sqlite3.h>
int myfunc(void* v,int count, char** value, char** name)
{
int i;
for(i = 0;i < count; i++)
{
printf("%-8s",value[i]);
}
printf("\n");
return 0;
}
int main()
{
sqlite3 *db;
int ret = sqlite3_open("student.db",&db);
if(ret != SQLITE_OK)
{
printf("数据库打开失败\n");
return -1;
}
char *errmsg;
const char *sql = "select * from student";
ret = sqlite3_exec(db, sql, myfunc, NULL, &errmsg );
if(ret != SQLITE_OK)
{
printf("exec 失败: %s\n",errmsg);
return -1;
}
sqlite3_close(db);
return 0;
}