sqlite3数据库操作接口详细整理,以及常用的数据库语句

sqlite3_open

int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能:打开一个数据库,如果数据库不存在,则创建一个数据库 参数1:要打开的数据库的名字,是一个字符串 参数2:数据库操作句柄,是一个二级指针,需要我们传入一级指针的地址 返回值:成功返回SQLITE_OK,失败返回一个错误码(非linux的错误码),可以使用sqlite_errmsg来获取错误信息,由sqlite3_errcode返回错误码值

sqlite3_close

int sqlite3_close(sqlite3*); 功能:关闭数据库,断开句柄所拥有的资源 参数:数据库指针 返回值:成功返回SQLITE_OK,失败返回其他错误码

sqlite3_errcode

int sqlite3_errcode(sqlite3 *db) 功能:通过错误句柄返回错误码 参数:错误句柄 返回值:错误码

回调函数

int callback(void* arg, int cols,char** col_text, char** col_name) 功能:处理sql语句结束后的结果集,主要用于处理select语句 参数1:exec函数的第三个参数,用于主调函数和被调函数之间数据的交流 参数2:sql语句执行过后结果集的列数 参数3:查找的结果集中的相关列的文本内容 参数4:查找的结果集中的相关列的名称 返回值:0表示该函数调用成功,其他整数表明调用失败,如果该函数调用失败,则exec函数也会失败,返回结果就是该函数的返回值

sqlite3_get_table

int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Number of result rows written here */ int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); 功能:通过执行sql语句,得到结果集中的内容 参数1:数据库 参数2:要执行的sql语句 参数3:查询的结果,需要定义一个二级指针变量,将地址进行传递 参数4: 查询结果的行数 参数5:查询结果的列数 参数6:错误信息 返回值:成功返回SQLITE_OK,失败返回非0的错误码

sqltie3_free_table

void sqlite3_free_table(char **result); 功能:释放表的空间 参数:通过sql语句查询的结果

sqlite3_exec

int sqlite3_exec( sqlite3* db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ ); 功能:调用该函数,执行sql语句 参数1:已经被打开的数据库 参数2:要执行的sql语句 参数3:回调函数,主要用于数据库查找时,处理查找的结果集的函数,如果不需要处理sql语句的结果,则填NULL即可 参数4:参数3的第一个参数 参数5:错误信息 返回值:成功返回SQLITE_OK,失败返回其他错误码

sqlite3_errmsg

const char *sqlite3_errmsg(sqlite3*); 功能:通过出错的句柄返回错误信息 参数:出错的句柄 返回值:对应的错误信息

相关推荐
dazhong20121 小时前
PLSQL 客户端连接 Oracle 数据库配置
数据库·oracle
了一li3 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
别致的影分身4 小时前
使用C语言连接MySQL
数据库·mysql
京东零售技术5 小时前
“慢”增长时代的企业数据体系建设:超越数据中台
数据库
sdaxue.com6 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
o(╥﹏╥)6 小时前
linux(ubuntu )卡死怎么强制重启
linux·数据库·ubuntu·系统安全
阿里嘎多学长7 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
Yuan_o_7 小时前
Linux 基本使用和程序部署
java·linux·运维·服务器·数据库·后端
Sunyanhui17 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql