linux sqlite3

一 sqlite函数接口

1.SQLITE_API
int sqlite3_open(const char *filename,sqlite3 **ppDb);
/* Database filename (UTF-8) */
/* OUT: SQLite db handle */


功能:打开一个数据库文件
参数:
filename 数据库文件名
ppDb 获得数据信息在内存的首地址
返回值:
成功返回SQLITE_OK,失败返回错误码

2.SQLITE_API
const char *sqlite3_errmsg(sqlite3 *pdb);
功能:获取数据库操作失败信息
参数:
pdb 通过sqlite3_open 获得句柄
返回值
返回错误信息的首地址


3.SQLITE_API
int sqlite3_close(sqlite3 *pdb)
功能:关闭数据库
参数:
pdb 通过sqlite3_open 获得句柄


4.SQLITE_API 回调方式执行sql
int sqlite3_exec(sqlite3* db,const char *sql,int (*callback)(void*,int,char**,char**),void * arg,char **errmsg );
/* An open database */
/* SQL to be evaluated */
/* Callback function */
/* 1st argument to callback */
/* Error msg written here */


功能:执行一条sql语句
参数:
db 打开的数据库
sql sql语句
callback 回调函数,做查询操作的时候,回调函数会被调用,可通过回调函数打印查询到信息
arg 给回调函数传递的参数
errmsg 获得错误信息

返回值:
成功返回0,失败返回错误码


int (*callback)(void *arg,int n,char** pvalue,char **pname), /* Callback function */
参数:
arg 通过sqlite3_exec的函数接口传递的参数
n 查询到记录的字段个数,即列数
pvalue 存放字段值的指针数组首地址
pname 存放字段名的指针数组首地址

练习:

1.输入sql语句执行
2.输入用户名查询

int select_name(sqlite3 *db)
{
    char sql[1024];
    char name[15];


    printf("Input name:");
    scanf("%s",name);


    //sql:select * from people where NAME='A'
    sprintf(sql,"select * from people where NAME='%s';",name);


    exec_sql(db,sql);


return 0;
}


int cmd;
char sql[N];
while(1)
{
scanf("%d",&cmd);


switch(cmd)
{
case 1:
printf("Input sql:");
fgets();


exec_sql(db,sql);
break;


case 2:
select_name(db);
break;
}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值