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

前端之家收集整理的这篇文章主要介绍了基于C的Linux下嵌入式数据库SQLite的CRUD编程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《基于C的Linux下嵌入式数据库sqlite的CRUD编程》要点:
本文介绍了基于C的Linux下嵌入式数据库sqlite的CRUD编程,希望对您有用。如果有疑问,可以联系我们。

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

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

具体的编程流程为:

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

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

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

(4)关闭数据库连接.

1.法式的源码

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

#include <stdio.h>

#include <sqlite3.h>

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,&szErrMsg );

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

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

sqlite3_exec(pdb,&szErrMsg );

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

sqlite3_exec(pdb,&szErrMsg );

// 查询所有记录

int nRow = 0,nColumn = 0;

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

strsql = "SELECT * FROM test_table ";

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

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

for(; i<(nRow+1)*nColumn;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

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

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


《基于C的Linux下嵌入式数据库sqlite的CRUD编程》是否对您有启发,欢迎查看更多与《基于C的Linux下嵌入式数据库sqlite的CRUD编程》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

猜你在找的Sqlite相关文章