SQLite - 在程序中使用sqlite源代码

17 篇文章 1 订阅
2 篇文章 0 订阅

1、使用SQLite下载的库

首先把SQLite源码下载下来,主要使用sqlite3.h文件。记录sqlite3.def文件(前面解压出来的文件)所在文件夹,如C:\SQLite

通过VS2012编译,生成.lib文件。打开vs2012->工具->Visual Studio命令提示,打开命令行输入窗口:

 进入到sqlite3.def文件所在的文件夹,然后执行lib /def:sqlite3.def /machine:ix86命令生成.lib文件:

可以看到创建了sqlite3.lib库,如下图文件夹中所示:

将sqlite3.lib和sqlite3.h文件放到文件夹sqlite3中,然后将sqlite3文件夹拷贝到工程所在文件目录下,然后在工程链接库中添加sqlite3.lib,并添加sqlite3.lib所在目录,如下图所示:

当配置完成之后,在程序中包含sqlite3.h头文件即可:

接下来就可以进行编程了。

2、创建数据库

创建数据库采用的API是sqlite3_open函数,函数原型如下所示:

int sqlite3_open(const char* filename, sqlite3 **ppDb);

filename: 表示创建的数据库的目录及数据库名称。如果filename所表示的数据库文件已存在,则会打开该数据库文件;如果不存在,则会创建一个新的数据库文件。如果filename为NULL或者”:memory”,则会创建一个内存数据库,只会在session的有效时间内持续。

ppDb: 指向打开的数据库的连接,接下来的操作主要是使用该连接。

如下所示的代码表示在目录中创建一个新的数据库:

可以看到在该目录中,增加了一个新的数据库文件:

3、创建数据表

当在程序中创建数据表时,使用的还是sql命令,和使用Command Line Shell时的命令是一样的,只不过是需要调用API将命令发送并执行;需要使用的API是sqlite3_exec函数,该函数的原型如下所示:

 其中sqlite_callback函数必须是满足以下原型的函数:

该函数可以返回执行sql命令时的返回值,其中azColName存储的是数据表中列的名称,argv存储的是数据行中对应列的值,argc表示返回了多少个数据行;sql_Callback_func的具体定义可以参考如下所示:

 具体示例如下所示:

上面的代码表示,创建了一个名为test的数据表,包含了5列,分别为ID\NAME\AGE\ADDRESS\HEIGHT;当对数据库的操作完成时候,需要关闭与数据库的连接。

通过Command Line Shell操作,可以发现在数据库new_db.db中已经有了一个名为test的数据表: 

4、删除数据表

删除数据表还是使用sqlite3_execAPI,只不过发送的命令是DROP命令,具体实例如下所示:

可以看出,数据库中已经没有了text1数据表。

需要注意的是,当执行的命令没有返回数据的时候,是不会调用sql_Callback_func回调函数的。

5、INSERT – 添加新的数据行

具体实例如下所示:

该代码实例是向数据表中插入了6条数据,可以查看记录如下所示:

6、UPDATE – 修改数据表中已有的记录

具体实例如下所示:

该代码是将NAME为GK的ADDRESS改为gk_new_address,具体执行结果如下:

7、DELETE – 删除数据表中已有的记录

具体实例如下:

操作结果如下所示:

8、SELECT – 从数据表中获取数据记录

具体实例如下所示:

 当有数据返回时,就会调用sql_Callback_func函数,此时就会打印出返回的数据:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值