加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 00:09:32 所属栏目:百科 来源:网络整理
导读:《基于C的Linux下嵌入式数据库SQLite的CRUD编程》要点: 本文介绍了基于C的Linux下嵌入式数据库SQLite的CRUD编程,希望对您有用。如果有疑问,可以联系我们。 将演示SQLite的基本使用,这个例子讲解了如安在SQLite中增加记录、查询记录、创建数据表等操作.另

《基于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学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读