php 嵌入式 数据库,基于C的Linux下嵌入式数据库SQLite的CRUD编程

将演示SQLite的基本使用,这个例子讲解了如安在SQLite中增加记录、查询记录、创建数据表等操作.另外本例子,也演示了如何编译以及执行一个SQLite的应用程序例子.

结合上面的介绍,下面以一个完整的例子,讲解如何利用SQLite查询指定的数据表中的信息.

具体的编程流程为:

(1)连接指定数据库,test.db

(2)向数据表data_txt_table中添加一条记录;

(3)读取数据表data_txt_table中的全部记录,并按顺序显示;

(4)关闭数据库连接.

1.法式的源码

法式的主要源码如下所示:

#include

#include

int main( void )

{

sqlite3 *pdb = NULL;

char *szErrMsg = 0;

int rc;

int i = 0;

//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件

rc = sqlite3_open("test.db", &pdb);

if( rc )

{

fprintf(stderr, "Can't open database: %s", sqlite3_errmsg(pdb));

sqlite3_close(pdb);

return 0;

}

// 创建一张新数据表

//创建一个表,如果该表存在,则不创建,并给出提示信息,存储在 zErrMsg 中

char *strSql = " CREATE TABLE test_table (ID INTEGER PRIMARY KEY,name VARCHAR(12));";

sqlite3_exec(pdb,strSql,0,0,&szErrMsg );

// 向数据表中添加二条记录

strSql = "INSERT INTO test_table VALUES( 1 , 'tom');";

sqlite3_exec(pdb,strSql,0,0,&szErrMsg );

strSql = "INSERT INTO test_table VALUES( 2 , 'Jim');";

sqlite3_exec(pdb,strSql,0,0,&szErrMsg );

// 查询所有记录

int nRow = 0, nColumn = 0;

char **pResult; //二维数组存放成果

strSql = "SELECT * FROM test_table ";

sqlite3_get_table(pdb,strSql,&pResult,&nRow,&nColumn,&szErrMsg );

printf("Query recond %d \n ID Name:\n",nRow);

for(; i

{

printf("%s ", pResult[i]);

if(i % 2 == 0)

printf("\n");

}

//释放掉 azResult 的内存空间

sqlite3_free_table(pResult);

sqlite3_close(pdb); //关闭数据库

return 0;

}

2.编译

SQLite的编译参数为:

gcc SQLiteTest.c -o SQLiteTest -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include -static -lpthread

编译参数介绍:

(1)-lsqlite3用于链接SQLite的开发库;

(2)-lpthread用于链接多线程库;

(3)-L/usr/local/sqlite3/lib 用于指示SQLite中链接库的路径,默认的安装路径为/usr/local/sqlite3/lib,当然读者可以根据本身的实际安装路径进行配置;

(4)-I/usr/local/sqlite3/include用于指示SQLite中sqlite3.h头文件所在的目录,当然/usr/local/sqlite3/include为默认安装路径,读者在本身的项目中要根据实际安装的路径进行配置;

(5)-static用于静态编译,如果不加上该选项,有时候在编译会提示无法找到动态链接库.

3.运行

法式在具体的编译通过后,会生成珍上SQLiteTest的可执行文件,在Shell命令中输入./SQLiteTest即可以执行该法式:

[root@locathost SQLite]./SQLiteTest

法式具体的运行效果如下图所示:

01694d7fb65caabecf8cf24c0d0f236d.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值