数据库查询1
#include <stdio.h>
#include <sqlite3.h>
// 回调函数执行方式:没查询到一条记录调用一次回调函数
// 第一个参数:exec 用户传过来的参数
// 第二个参数:查询到的结果的 列数
// 第三个参数:查询的一条记录的值, 例如 char *value[] = {"1", "zhang", "M", "18"};
// 第三个参数:查询记录字段(标题)的值, 例如 char *name[] = {"ID", "name", "sex", "age"};
// 返回值:必须0,否则,之后的记录将不再返回
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;
}