arm板上sqlite3移植及使用
发布时间:2020-12-12 19:15:28 所属栏目:百科 来源:网络整理
导读: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/sqli
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |