SQLite C语言接口

简介: 数据表设计create table tbl_emp(id integer primary key ,name varchar(40),age smallint,birthday datetime); sqlite3是数据库连接对象,用来操作数...


数据表设计


  1. create table tbl_emp(

  2. id integer primary key ,

  3. name varchar(40),

  4. age smallint,

  5. birthday datetime);


sqlite3是数据库连接对象,用来操作数据库

打开数据库对象函数


  1. int sqlite3_open(

  2. const char *filename, /*数据库文件名 */

  3. sqlite3 **ppDb /* 创建的数据库连接对象*/

  4. );


关闭数据库对象函数


  1. int sqlite3_close(sqlite3 */*打开的数据库连接对象*/);


返回数据库错误消息


  1. const char *sqlite3_errmsg(sqlite3*);


编译过程


  1. gcc v1.c

  2. -o v1

  3. -I/usr/local/sqlite3/include

  4. -L/usr/local/sqlite3/lib

  5. -lsqlite3

  6. gcc v1.c -o v1 -I/usr/local/sqlite/include -L/usr/local/sqlite/lib -lsqlite3

  7. export LD_LIBRARY_PATH=/usr/local/sqlite/lib:$LD_LIBRARY_PATH

  8. ./v1


执行sql语句函数


  1. int sqlite3_exec(

  2. sqlite3*, /* 打开的数据库连接对象*/

  3. const char *sql, /* 将要执行的sql语句*/

  4. int (*callback)(void*,int,char**,char**), /* 回调函数*/

  5. void *, /* 回调函数的第一个参数*/

  6. char **errmsg /* 错误的消息*/

  7. );



查询函数


  1. int sqlite3_get_table(

  2. sqlite3 *db, /*数据库连接对象*/

  3. const char *zSql, /*将要执行的sql语句*/

  4. char ***pazResult, /* 查询的结果集 */

  5. int *pnRow, /* 结果集的行数*/

  6. int *pnColumn, /*结果集的列数*/

  7. char **pzErrmsg /* 查询的错误消息*/ );

释放结果集函数


  1. void sqlite3_free_table(char **result);


使用回调函数查询

回调函数


  1. int (*callback)(

  2. void*,/*从sqlite3_exec传递来的参数*/

  3. int,/*结果集的列数*/

  4. char**, /*列的值*/

  5. char**/*列的名字*/

  6. )


预处理对象


  1. int sqlite3_prepare(

  2. sqlite3 *db, /* 数据库连接对象*/

  3. const char *zSql, /*将要执行的sql语句*/

  4. int nByte, /* sql语句的长度 -1*/

  5. sqlite3_stmt **ppStmt, /* sqlite3_stmt对象 */

  6. const char **pzTail /* 指向执行的sql语句 0*/

  7. );

其它函数


  1. int sqlite3_bind_text(sqlite3_stmt*, int, const char*, int n, void(*)(void*));

  2. int sqlite3_step(sqlite3_stmt*);

  3. const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);

  4. int sqlite3_finalize(sqlite3_stmt *pStmt);


预处理对象重复使用


  1. int sqlite3_reset(sqlite3_stmt*);

img_5d63162eaef1ec131b26e9476dc6e085.jpg

相关文章
|
7月前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
298 0
|
19天前
|
C语言 开发者
C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧
本文深入探讨了C语言中的模块化编程思想,介绍了模块化编程的概念、实现方式及其优势,强调了合理划分模块、明确接口、保持独立性和内聚性的实践技巧,并通过案例分析展示了其应用,展望了未来的发展趋势,旨在帮助读者提升程序质量和开发效率。
38 5
|
7月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
158 7
|
4月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
|
4月前
|
传感器 IDE 编译器
C语言与硬件接口
C语言与硬件接口
93 0
|
4月前
|
SQL 关系型数据库 数据库
C语言与数据库:使用C语言操作SQLite等数据库。
C语言与数据库:使用C语言操作SQLite等数据库。
36 0
|
6月前
|
SQL 数据库 C语言
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用
|
7月前
|
安全 Linux 编译器
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)(下)
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)
56 0
|
7月前
|
安全 C语言 C++
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)(中)
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)
59 0
|
7月前
|
Linux 调度 C语言
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)(上)
从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)
74 0