sqlite3.h,sqlite3.c在资源中
main.c
#include<stdio.h>
#include"sqlite3.h"
//结果中每一行数据触发一次
int my_fun(void* para,int n_column,char** column_value,char** column_name)
{
printf("####################\n");
int i = 0;
for ( i = 0; i < n_column; i++)
{
printf("%s\t",column_name[i]);
}
printf("\n");
return 0;
}
int main(int argc, char const *argv[])
{
sqlite3* db = NULL;
int ret = sqlite3_open("stu.db",&db);
if (ret != SQLITE_OK)
{
perror("sqlite3_open");
return 0;
}
//操作数据库(增删改查)
char* sql = "create table persons2(id integer primary key,name text,addr text);";
sqlite3_exec(db,sql,NULL,NULL,NULL);
sql = "insert into persons2 values(1,'lucy','bj');";
sqlite3_exec(db,sql,NULL,NULL,NULL);
sql = "insert into persons2 values(2,'bobo','sc');";
sqlite3_exec(db,sql,NULL,NULL,NULL);
sql = "insert into persons2 values(3,'lili','nj');";
sqlite3_exec(db,sql,NULL,NULL,NULL);
//查询
sql = "select * from persons2;";
sqlite3_exec(db,sql,my_fun,NULL,NULL);
char** result = NULL;
int row=0,col=0;
sqlite3_get_table(db,sql,&result,&row,&col,NULL);
printf("row=%d,col=%d\n",row,col);
//它能看到的就是一维数组
int i=0,j=0;
for ( i = 0; i < row; i++)
{
for ( j = 0; j < col; j++)
{
printf("%s\t",result[i*col+j]);
}
printf("\n");
}
sqlite3_close(db);
return 0;
}