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,worldn"); 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.dbn"); /*执行SQL语句这里是建表*/ if(SQLITE_OK != sqlite3_exec(db,sql1,NULL,NULL)) { printf("create the table failed!n"); exit(1); } printf("create a table successn"); /*执行SQL语句这里是插入信息*/ if(SQLITE_OK != sqlite3_exec(db,sql2,NULL)) { printf("insert the table failed!n"); exit(1); } printf("insert message successn"); /*关闭数据库*/ sqlite3_close(db); printf("close the test.dbn"); return 0; } 注:编译命令arm-linux-gcc sqlite.c -o sqlite -lsqlite3 -L/opt/ruanjian/sqlite-3.7.14/lib 测试: 启动应用程序:
执行过程中输出信息:
执行结果(这里用sqlite3来查看): (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |