加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在arm上测试sqlite3

发布时间:2020-12-12 23:38:58 所属栏目:百科 来源:网络整理
导读:这里以 SQLite 官方站点 http:// sqlite .org 的quick start文档中的测试程序为例对移植到ARM-Linux上的 SQLite 3进行测试。该程序清单如下: 1 #include stdio.h 2 #include sqlite 3.h 3 4 static int 5 callback(void *NotUsed,int argc,char **argv,char
这里以SQLite官方站点http://sqlite.org的quick start文档中的测试程序为例对移植到ARM-Linux上的SQLite3进行测试。该程序清单如下: 1 #include <stdio.h> 2 #include <sqlite3.h> 3 4 static int 5 callback(void *NotUsed,int argc,char **argv,char **azColName) 6 { 7 int i; 8 9 for (i = 0; i < argc; i++) { 10 printf("%s = %s/n",azColName[i],argv[i] ? argv[i] : "NULL"); 11 } 12 printf("/n"); 13 return 0; 14 } 15 16 int 17 main(int argc,char **argv) 18 { 19 sqlite3 *db; 20 char *zErrMsg = 0; 21 int rc; 22 23 if (argc != 3) { 24 fprintf(stderr,"Usage: %s DATABASE SQL-STATEMENT/n",argv[0]); 25 exit(1); 26 } 27 rc = sqlite3_open(argv[1],&db); 28 if (rc) { 29 fprintf(stderr,"Can't open database: %s/n",sqlite3_errmsg(db)); 30 sqlite3_close(db); 31 exit(1); 32 } 33 rc = sqlite3_exec(db,argv[2],callback,&zErrMsg); 34 if (rc != SQLITE_OK) { 35 fprintf(stderr,"SQL error: %s/n",zErrMsg); 36 sqlite3_free(zErrMsg); 37 } 38 sqlite3_close(db); 39 return 0; 40 } 将此源程序保存为test.c,将test.c保存在bld目录下,然后,通过如下命令编译该程序: arm-linux-gcc -o test test.c -L .libs -lsqlite3 -static 测试的话可以参看网页:http://www.sqlite.com.cn/MySqlite/6/349.Html 面是测试test程序的完整过程,需要注意的是由于命令较长,因此每一个命令都分成了多行输入,这样看起来要清楚一些: [root@Sitsang2 root]$./test xyz.db "create table > tbl0(name varchar(10),number smallint);" [root@Sitsang2 root]$./test xyz.db "insert into > tbl0 values('cyc',1);" [root@Sitsang2 root]$./test xyz.db "insert into > tbl0 values('dzy',2);" [root@Sitsang2 root]$./test xyz.db "select * > from tbl0;" name = cyc number = 1 name = dzy number = 2 解释一下上面所用的测试命令:第一条命令在xyz.db这个数据库文件中创建了一个tbl0表,表中包含两个字段,字段name是一个变长字符串,字段number的类型为smallint;第二条命令向数据库的tbl0表中插入了一条记录(‘cyc’,1);第三条命令向数据库的tbl0表中插入了一条记录(‘dzy’,2);第四条命令则是查询表tbl0中的所有内容,与预期的一样,这条命令打印除了数据库中的两条刚插入的记录。由此可以得出结论,这几条命令确实都已经按照预期的目标工作了。 同时,在向数据库中插入上面所示的数据之后,可以看到数据库文件xyz.db大小已经发生了变化: [root@Sitsang2 root]$ll -h xyz.db -rw-r--r-- 1 root root 2.0k Jan1 00:18 xyz.db 此时数据库文件xyz.db的大小为2K。自此,SQLite3数据库在Sitsang评估板上移植完成。测试结果表明数据库能够正常工作。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读