如何用C语言操作sqlite3,一文搞懂

 sqlite3编程接口非常多,一文搞懂对于初学者来说,何用我们暂时只需要掌握常用的语言操几个函数,其他函数自然就知道如何使用了。一文搞懂

数据库

本篇假设数据库为my.db,何用有数据表student。

no name score 4 一口Linux 89.0

创建表格语句如下:

CREATE TABLE  IF NOT EXISTS student (no integer primary key,语言操 name text, score real); 

常用函数

sqlite3_open

int   sqlite3_open(char  *path,   sqlite3 **db); 

功能:

打开sqlite数据库

参数:

path: 数据库文件路径

db: 指向sqlite句柄的服务器租用指针,后面对数据库所有的一文搞懂操作都要依赖这个句柄

返回值:

成功返回0,失败返回错误码(非零值)

sqlite3_close

int   sqlite3_close(sqlite3 *db); 

功能:

关闭sqlite数据库

返回值:

成功返回0,何用失败返回错误码

const  char  *sqlite3_errmsg(sqlite3 *db); 

功能:

打印错误信息

返回值:

返回错误信息

不使用回调函数执行SQL语句

sqlite3_get_table

int   sqlite3_get_table(sqlite3 *db,语言操 const  char  *sql,  char ***resultp,  int*nrow,  int *ncolumn, char  

功能:

执行SQL操作

参数:

db:数据库句柄

sql:SQL语句

resultp:用来指向sql执行结果的指针

nrow:满足条件的香港云服务器记录的数目

ncolumn:每条记录包含的字段数目

errmsg:错误信息指针的地址

返回值:

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

举例

下面比如我们要显示student表中所有的一文搞懂数据信息,服务器托管我们就可以利用sqlite3_get_table()执行语句:

select * from student 

实现代码如下:

void do_show_sample(sqlite3 *db)  {    char **result,何用 *errmsg;  int nrow, ncolumn, i, j, index;  if (sqlite3_get_table(db, "select * from student", &result, &nrow, &ncolumn, &errmsg) != 0)  {    printf("error : %s\n", errmsg);   sqlite3_free(errmsg);  }  index = ncolumn;  for (i=0; i<nrow; i++)  {    for (j=0; j<ncolumn; j++)   {     printf("%-8s : %-8s\n", result[j], result[index]);       index++;   }   printf("
滇ICP备2023000592号-31