《基于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,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<(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编程》相关教程,学精学透。维易PHP学院为您提供精彩教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9163.html