SQLITE3.7.14移植

软件环境:WindowXP Red Hat 5.0

硬件环境:ARM9

移植源码:http://www.sqlite.org/sqlite-autoconf-3071400.tar.gz

--------------------------------------------------------------------------------------------------------

移植:

#tar –zxvf sqlite-autoconf-3071400.tar.gz

#mkdir /opt/ruanjian/ sqlite-3.7.14

#CC=arm-linux-gcc ./configure –prefix=/opt/ruanjian/sqlite-3.7.14 --host=arm-linux --disable-tcl

#make && make install

完成后将“/opt/ruanjian/sqlite-3.7.14/lib”下的“libsqlite3.so、libsqlite3.so.0、libsqlite3.so.0.8.6”下三个文件拷贝到ARM9中根目录下lib中同时将编译时产生的sqlite3(/opt/ruanjian/sqlite-3.7.14/bin目录下)拷贝到ARM9中根目录下的bin中这个文件可以作为一个命令使用它可以创建数据库、创建表、插入数据等操作详见请使用“sqlite3”—>“.help”。

使用时如遇以下问题按文档所示操作即可解决

如上图所示红框问题,即输入字符后使用退格键进行清除时不能进行清除操作。

解决办法是结束sqlite程序(移植时sqlite自动生成一个可执行文件)然后在超级终端输入“stty erase ^H”即可。

--------------------------------------------------------------------------------------------------------

sqlite3 sql语句相关操作

(1)table的创建、修改删除

创建表:“create table test(ID int);”

修改表:“alter table test add column NAME varchar(10);”

删除表:“drop table test;”

(2)表的导入导出

导出*.txt、*.csv文件

注:如果是导出为csv文件sqlite3数据库的段要设置为用逗号分开这样才能出现如图1所示的正确结果。不然则出现图2所示不正确结果,图2所用的是“|”的显示方式。

导入到表

这里导入csv文件要正确导入sqlite3数据库的段要设置为用逗号分开才行。

--------------------------------------------------------------------------------------------------------

C语言下的一个简单实例:

下面编写是一个sqlite3的最常用函数的基本操,包括数据库的建立,在数据库中建立表并插入信息以及最后关闭数据。下面这个程序名字是“sqlite”。

#include <stdio.h>

#include"/opt/ruanjian/sqlite-3.7.14/include/sqlite3.h"

int main(int argc,char *argv[])

{

printf("Hello,world\n");

sqlite3 *db;

char *sql1 = "CREATE TABLE SensorData(ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTERER,Time VARCHAR(12),SensorParameter REAL);";

char *sql2 = "INSERT INTO 'SensorData' VALUES(NULL,101,261,'20100314',18.9);";

/*如果不存在数据库则建立数据库并打开,存在则打开*/

sqlite3_open("test.db",&db);

printf("open the test.db\n");

/*执行sql语句这里是建表*/

if(sqlITE_OK != sqlite3_exec(db,sql1,NULL,NULL))

{

printf("create the table Failed!\n");

exit(1);

}

printf("create a table success\n");

/*执行sql语句这里是插入信息*/

if(sqlITE_OK != sqlite3_exec(db,sql2,NULL))

{

printf("insert the table Failed!\n");

exit(1);

}

printf("insert message success\n");

/*关闭数据库*/

sqlite3_close(db);

printf("close the test.db\n");

return 0;

}

注:编译命令arm-linux-gcc sqlite.c -o sqlite -lsqlite3 -L/opt/ruanjian/sqlite-3.7.14/lib

测试:

启动应用程序:

执行过程中输出信息:

执行结果(这里用sqlite3来查看):

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能