微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

arm板上sqlite3移植及使用

arm板上sqlite3移植及使用

硬件平台:IMX6Q

内核版本:kernel3.0.35


移植到arm板

步骤:
1 下载源码 sqlite-3.6.16.tar.gz
2 编译源码,执行以下指令
cp sqlite-3.6.16.tar.gz /home/liuhaobi/sqlite3
tar -zxvfsqlite-3.6.16.tar.gz
cd /home/liuhaobi/sqlite3/sqlite-3.6.16
./configure --host=arm-linux --prefix=/home/liuhaobi/sqlite3
make
make install
执行完以上指令后,在/home/liuhaobi/sqlite3目录下会生成bin、include、lib文件
为了防止拷贝软链接文件的时候出错,将lib文件打包,执行
cd /home/liuhaobi/sqlite3
tar -zcvf lib.tar.gz lib/
3 将可执行文件和库文件拷贝到arm板中
将bin文件中的可执行文件sqlite3和lib.tar.gz拷贝到sd卡中,将sd卡插入到开发板上,执行以下指令
cp /sddisk/sqlite3 /bin
cp /sddisk/lib.tar.gz /opt
cd /opt
tar -zxvf lib.tar.gz
cp lib/* /lib -rf
4 测试移植效果
执行sqlite3,能进入sqlite命令行,即完成了移植


使用C语言操作sqlite数据库

1 新建数据库test.db
sqlite3 *db = NULL;
sqlite3_open("test.db",&db);
2 关闭数据库test.db
sqlite3_close(db);
3 数据库报错信息输出
sqlite3_errmsg(db);
4 新建数据库
char *zErrMsg;
char *sql = " CREATE TABLE my_table (ID INTEGER PRIMARY KEY,SersorID INTE GER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);";
sqlite3_exec(db,sql,&zErrMsg);
5 插入数据
sql = "INSERT INTO \"my_table\" VALUES(NULL,1,'20061685',18.9)";
sqlite3_exec(db,&zErrMsg);
6 查询数据
int nrow = 0,ncolumn = 0;
char **azResult; //二维数组用于存放结果
char *sql = "SELECT * FROM my_table";
sqlite3_get_table(db,&azResult,&nrow,&ncolumn,&zErrMsg);
sqlite3_free_table(azResult); //将缓冲区数据清除
7 删除数据
char *sql = "DELETE FROM my_table WHERE SersorID = 1;";
sqlite3_exec(db,&zErrMsg);
8 更新数据
char *sql = "UPDATE my_table set SersorID = 5;";
sqlite3_exec(db,&zErrMsg);

具体实例可参考 sqlite3_test.tar
执行顺序opendbsqlite->insert->query->delete->update

注意:编译的时候要加上库路径和头文件路径,不然会报错
arm-linux-gcc insert.c -o insert_arm -lsqlite3 -I/home/liuhaobi/sqlite3/include -L/home/liuhaobi/sqlite3/lib

./configure CC=mipsel-linux-gcc --build=mipsel-linux --host=i386-linux --prefix=/home/sqlite-3.6.16/lixing

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


SQLite架构简单,又有Json计算能力,有时会承担Json文件/RESTful的计算功能,但SQLite不能直接解析Json文件/RESTful,需要用Java代码硬写,或借助第三方类库,最后再拼成insert语句插入数据表,代码非常繁琐,这里就不展示了。参考前面的代码可知,入库的过程比较麻烦,不能只用SQL,还要借助Java或命令行。SPL是现代的数据计算语言,属于简化的面向对象的语言风格,有对象的概念,可以用点号访问属性并进行多步骤计算,但没有继承重载这些内容,不算彻底的面向对象语言。...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。本教程将告诉您如何使用 SQLite 编程,并让你迅速上手。.................................
安卓开发,利用SQLite实现登陆注册功能
相比大多数数据库而言,具有等优势,广泛应用于、等领域。
有时候,一个项目只有一个数据库,比如只有SQLite,或者MySQL数据库,那么我们只需要使用一个固定的数据库即可。但是一个项目如果写好了,有多个用户使用,但是多个用户使用不同的数据库,这个时候,我们就需要把软件设计成可以连接多个数据库的模式,用什么数据库,就配置什么数据库即可。4.Users实体类,这个实体类要和数据库一样的,形成一一对应的关系。11.Sqlite数据库,需要在代码里面创建数据库,建立表,再建立数据。8.我们开启MySQL数据库,然后进行调试,看程序的结果。2.安装SqlSugar。
基于Android的背单词软件,功能强大完整。
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。说白了就是使用起来轻便简单,