目录
一、打开查看表的C接口
sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)
#在这里,第一个参数sqlite3 是打开的数据库对象,第二个参数是执行命令,sqlitecallback 是一个回调,data 作为其第一个参数,errmsg 将被返回用来获取程序生成的任何错误。
int callback(void *arg, int column_size, char *column_value[], char *column_name[])
# void *arg:是sqlite3_exec函数的第四个参数
# column_size: 数据库的字段数
# column_value[]: 列的值
# column_name[]:字段名字
二、C代码举例
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int callback(void *arg, int column_size, char *column_value[], char*column_name[])
{
int i;
for(i=0;i<column_size;i++)
{
printf("%s = %s\n", column_name[il, column_value[i]);
}
return 0;//必须返回0,这样数据库中有多少条数据,这个回调函数就会被调用多少次
}
int main(char argc,char **argv)
{
sqlite3 *db;
int ret;
if(argc < 2)
{
printf("Usage: %s xxx.db\n",argv[0]);
return -1;
}
if( (ret = sqlite3_open(argv[1l,&db)) == SQLITE OK)
{
printf("open %s success\n",argv[1]);
}
else
{
printf("error;%s ,%d\n",sglite3 errmsg(db),ret);
}
sqlite3_exec(db,"select * from stu;",callback, NULL,NULL);
sqlite3_close(db);
printf("done\n");
return 0;
}