南京邮电大学嵌入式系统开发实验3:嵌入式数据库sqlite移植及使用
实验3 嵌入式数据库sqlite移植及使用
一.实验目的
理解嵌入式软件移植的基本方法,掌握sqlite数据库软件移植的步骤,掌握sqlite开发的两种方式—命令模式和C代码开发模式的使用方法,并编程实现简单通讯录查询实验。
二.实验内容
实验3.1 移植嵌入式数据库sqlite
实验3.2 简单通讯录查询实例设计和测试
三.预备知识
Linux使用、数据库相关知识等
四.实验设备及工具(包括软件调试工具)
硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、串口线。
软件: WinXP或UBUNTU开发环境。
五.实验步骤
5.1 移植嵌入式数据库sqlite
步骤【参看教材103页】:
第一步,解压缩sqlite源码,命令 tar xzvf sqlite-autoconf-3080900.tar.gz ,在解压后的文件夹下,可以看到源码文件有 shell.c和 sqlite.c 文件,生成Makefile的配置脚本文件 configure.ac ,并检查当前文件夹下 A.存在 (A.存在 B.不存在)Makefile文件。
第二步利用configure脚本文件生成基于ARM实验台的Makefile,具体命令为 ./configure --prefix=/opt/sqlite (假设安装目录为/opt/sqlite),并检查当前文件夹下 A.存在 (A.存在 B.不存在)Makefile文件。
第三步,编译sqlite,命令为 make ,编译过程中使用的编译器为 gcc 。
第四步,安装sqlite,命令为make install。安装完成后到 /opt/sqlite 文件夹下去查看相关文件,可以看到该文件夹下有bin、include、lib和share文件夹,其中可执行文件sqlite3位于 bin 文件夹,库位于 lib 文件夹。
第六步,数据库的使用
备注:sqlite使用在嵌入式开发板和PC机没有任何区别,所以下面的实验在PC机上完成
具体使用命令请参考:http://blog.csdn.net/sphone89/article/details/9300797
方式1:命令操纵数据库
在超级终端环境下创建数据库stucomm.db,命令为 ./sqilte3 stucomm.db或者./sqilte3 stu.db __;
创建数据表stutable,字段包括id 整型,name 字符型,phoneNum 字符型,具体命令为_____create table stutable(id integer ,name text,phoneNum text);_
插入2条记录,记录信息如下
001,zhangsan,10086
002,lisi,10000
具体命令为insert into stutable values(1,’zhangsan’,’10086’);
insert into stutable values(2,’lisi’,’10000’);
查询电话号码为10086的相关记录信息,命令为select * from stutable where phoneNum=10086;
方式2:编程操纵数据库
使用C编程模式完成上述功能,代码如下:
#include “sqlite3.h”
int main(int argc, char** argv)
{
sqlite3 * db = NULL;
char* zErrMsg = NULL;
int rc;
sqlite3_open( “:memory:”, &db ); //打开内存数据库
rc = sqlite3_exec(db, “create table employee(id integer primary key, age integer);”, NULL, 0, &zErrMsg); //创建数据库
for( int i= 0; i < 10; i++ )
{
statement = sqlite3_mprintf( "insert into employee values(%d, %d);”, NULL, 0, &zErrMsg, rand()%65535, rand()%65535 );
rc = sqlite3_exec( db, statement, NULL, 0 , 0 ); //插入数据
sqlite3_free( statement );
}
rc = sqlite3_exec(db, “select * from employee;” , callback, 0, &zErrMsg ); //查询,并调用回调函数
sqlite3_close(db);
}
假设上述代码文件名为sqlite_exp.c文件,编译命令为__arm-linux-gcc -o sqlite_exp sqlite_exp.c___,其中头文件位于/opt/sqlite/include,库位于/opt/sqlite/lib下。
南京邮电大学嵌入式系统开发实验3:嵌入式数据库sqlite移植及使用相关推荐
- python嵌入式系统开发_Python在嵌入式项目中辅助开发.PDF
22 SYSPRACTICE 系统实践 on在嵌入式项目中的辅助开发 Pyth 彭树林 摘要:嵌入式系统设计开发过程中常会遇到诸如算法分析.原型验证.自动化测试.辅助工具设计等工作,其 开发效率和质量 ...
- 南京邮电大学嵌入式系统开发实验5:嵌入式Linux下LED报警灯驱动设计及编程
实验5 嵌入式Linux下LED报警灯驱动设计及编程 一.实验目的 理解驱动本质,掌握嵌入式Linux系统下驱动开发相关知识,包括端口寄存器访问.接口函数编写.和文件系统挂接.注册及相关应用编程等知 ...
- 嵌入式系统开发与应用——嵌入式 Linux 调试环境搭建
附录:UBoot常用命令手册 一. 实验目的 1.掌握VMware中设置共享文件夹的方法,为后续实验做准备: 2.熟悉 Linux TFTP 配置,为后续 Linux 底层开发做准备(后面会用 tft ...
- python嵌入式系统开发_图解嵌入式系统开发之语言篇:初识Python
一直忙于工作,似乎忘记了抽时间学习新知识,最近难得空闲,花了两天时间看了一下Python语法.作为工作中经常使用C/C++的人,学习Python的过程中最大的感受就是"似曾相识". ...
- 面向对象嵌入式系统开发4-嵌入式系统分析
面向对象嵌入式系统开发4-嵌入式系统分析 4.1 嵌入式系统分析的内容与目标 分析的目的是定义待开发系统的基本性质.所谓基本性质指的是如果没有他们,系统机会出错或者不完整的那些性质.换句话说&quo ...
- 关于嵌入式系统开发工程师相关问题解答
经常有网友对嵌入式系统开发工程师和嵌入式软件开发工程师概念模糊不清,不太清楚两种的区别和联系,本文就嵌入式系统开发工程师详细的介绍,帮助大家更好的了解嵌入式系统开发工程师一职. 一:职业描述 ...
- 嵌入式系统开发人员的知识结构
嵌入式系统无疑是当前最热门.最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高 ...
- 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——01-05 基本职能:老鸟也曾是菜鸟...
本节书摘来自异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第1章,第01-05节,作者 邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号 ...
- 嵌入式系统开发-学习路线
嵌入式系统开发 课程链接 随着嵌入式设备的普及,嵌入式应用的需求量也随之增大,本课程将重点培养基于linux系统下的嵌入式应用开发,包括5个阶段,其中课程涵盖了linux系统下的多进程.多线程嵌入式开 ...
最新文章
- 001-Ansible-参考http://www.ansible.com.cn/docs/playbooks_intro.html#about-playbooks
- SpringMVC学习笔记-新建工程及一些注意事项
- 练习图200例图纸讲解_实物图+电气图纸讲解:教你学会看配电系统图,不收藏,可惜了...
- centos6.8安装telnet
- java对象前后改变_java对象改变而不设置它们
- 了解数据库(包括数据库发展史、分类、著名人物、主流数据库、关系与非关系型数据库)
- Android校园二手交易平台
- 地图导航定位二维码如何制作呢?
- python与java前景分析-Java和Python哪个未来前景好?
- 移动国际漫游电话费用计算
- 新手安装Ubuntu 16.04 操作系统
- 天下难事始于易,天下大事始于细。
- 针对DDoS攻击异常流量攻击统计
- ACM之路的高一下学期
- labelme 标注生成24位深度图像转换为8位
- 牛客	古老的牛市,遗迹的天梯 dp
- 参加ACM经历及总结
- The Legend of 1900
- 9.1 使用QPxmap类加载图片
- NOI题库答案 2.2基本算法之递归和自调用函数
热门文章
- 三星 4521 linux 驱动下载,三星scx-4521f驱动下载_三星scx-4521f驱动官方下载-太平洋下载中心...
- kettle 十分钟百万数据迁移
- Neo4j资料 Neo4j教程 Neo4j视频教程 Neo4j 图数据库视频教程
- 互联网产品快速迭代下是否需要写详细测试用例
- 一篇文章带你详细了解注册会计师CPA 财管篇
- AndroidGradle基础——渠道化配置
- 线性规划matlab及LinGo
- Ubuntu和ROS的一些常用命令和简单问题
- outlook邮箱怎么配置服务器地址多少,Outlook如何设置?Outlook设置方法
- Linux磁盘对拷后无法开机,硬盘对拷后无法开机怎么办?