客户应用程序可以通过SQlite提供的CAPI与SQlitelibrary和数据库引擎交互,从而完成相应的数据操作。c/c++编程语言可以直接使用这些nativeCAPIs,对于其它一些编程语言包括Python等脚本语言,可以通过一些第三方封装库来访问SQlite,这些封装库的底层还是通过CAPI来完成相应功能的。所以如果要在自己的app中使用SQlite,非常有必要先了解它提供的CAPIs。
这些CAPIs的作用就是将客户app中的SQL语句传递给SQlite数据库引擎,从而完成查询数据,增删改等操作。所以要想学会使用SQlite数据库,就必须要学会写基本的SQL语句,了解基本的SQL标准语法,这可以找本讲SQL语言的书籍简单看看,最快的方式还是在实践中学习。
SQlite的CAPIs包括一定数量的数据结构,接近二百个函数,还有两三百个常量。虽然API的数量比较多,但用起来并不复杂,其中只有一部分函数是经常使用的,还有很多函数的功能相似,如:
对于SQlite3,所有的API函数都有一个前缀:sqlite3_。这个前缀表明这些APIs由SQlite数据库产品提供,3代表版本。所有的常量都有一个前缀:SQLITE_。SQlite数据库的源码是完全开放的,对于提供给客户应用程序调用的APIs,函数名全部由小写字符组成。如sqlite3_create_function_v2就是一个PUBLICAPI,而sqlite3CreateFunc就是一个SQlite内部函数。
- SQLITE_APIintsqlite3_create_function_v2(
- ){
- ......
- rc=sqlite3CreateFunc(db,zFunc,nArg,enc,p,xFunc,xStep,xFinal,pArg);
- ......
- }
SQLITE_API int sqlite3_create_function_v2(
){
... ...
rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xFunc, xStep, xFinal, pArg);
... ...
}
对于使用SQlite数据库的客户来说,提供一套稳定的API非常重要,否则SQlite每出来一个Release版本,之前的API就焕然一新,那客户应用程序就需要修改自己的APP,付出很大的维护代价。所以SQlite数据库的API,一旦发布就不会删除或者修改,如果某个API确实有必要改进,就会提供一个加了“v2”后缀的新API函数,而保留以前的旧版本,这样客户APP无需修改依然可以正常运行。比如:sqlite3_create_function、sqlite3_create_function_v2。
调用SQliteAPI时,如果成功则会返回SQLITE_OK,如果调用失败将返回一个错误码(Errorcode),指明发生了什么错误。对API调用的返回值进行适当检查,可以提高程序的健壮性。
SQlite数据库的C编程接口(一) 简介 by斜风细雨QQ:253786989 2012-02-01
相关推荐
Qt(由挪威TrollTech公司开发)是一个功能全面、高性 能、多平台的C++图形用户界面...境下以一个编程实例讲解Qt中SQLite数据库的应用编程过 程,向读者展示利用Qt与SQLite数据库开发嵌入式数据库应 用程序的一般方法。
c语言调用sqlite数据库中表的内容,非常实用
这是一个使用C#开发的Sqlite数据库创建、操作的源码工程,关于Sqlite的所有操作已经单独创建了专门的跨平台【.NETCore3.1】类库包含相应的帮助类,可以直接生成后拿到任何项目中直接使用,高效简单,省去了从头开发...
实验十 使用SQLite数据库存储数据
前情提要:Android 数据库(SQLite) 【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】 https://blog.csdn.net/weixin_44949135/article/details/105955663 Android ...
基于Qt4的SQLite数据库应用编程.pdf
SQlite数据库工具 供比较两个SQLite数据库所用。
Android源码——数据库SQLite.zip
SQLite数据库加密解密小工具,只用于.Net中使用SQLite时的加密和加密
php读取SQLite数据库, php读取SQLite数据库,php读取SQLite数据库
Sqlite数据库加密、解密工具,主要是用于进行给Sqlite数据库进行加密,修改密码的工具
Qt中SQlite数据库加密SqliteCipher 操作实例,打开多个数据库,附着数据库跨库查询, 对应说明:https://blog.csdn.net/woguanni/article/details/120524602
SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。
在学习的过程中遇到了配置问题是主要的,能得找bug找了大半天,但是还是坚持的心态把问题给解决了,比如需要哪几个文件,需要sqlite3.dll、sqlite3.lib、sqlite3i.h、sqlite3.hDbsqlite.h、Dbsqlite.cpp这些都是已经...
Android实验报告Sqlite数据库操作.pdf
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个...
一个小时内学习 SQLite 数据库
SQLite介绍 SQLite的发展 SQLite的优势 SQLite的缺憾 SQLite的内部结构 SQLite数据库的使用 SQLite的命令行接口 SQLite命令行使用 SQLite数据库的编程接口 C/C++接口 简单应用 ...
本文实例讲述了C#操作SQLite数据库之读写数据库的方法。分享给大家供大家参考,具体如下: 这里演示读写数据库并在窗体(Form)中显示其数据,其方式为: 读: Database(SQLite) -> DataAdapter -> DataSet -> ...
sqlite数据库文件经多次添加删除操作后 文件占用磁盘空间过大 c++压缩文件代码 sqlite数据库文件经多次添加删除操作后 文件占用磁盘空间过大 c++压缩文件代码 测试调用TestFunction.h文件 bool commit_vacuum...