热门搜索 :
考研考公
您的当前位置:首页正文

嵌入式数据库sqlite移植及使用

来源:伴沃教育
南京邮电大学计算机学院《嵌入式系统与开发》实验报告

《嵌入式数据库sqlite移植及

使用》 实验报告

学生姓名: 学 号: 专业班级:

指导教师: 完成时间:

南京邮电大学计算机学院《嵌入式系统与开发》实验报告

实验3 嵌入式数据库sqlite移植及使用

一.实验目的

理解嵌入式软件移植的基本方法,掌握sqlite数据库软件移植的步骤,掌握sqlite开发的两种方式—命令模式和C代码开发模式的使用方法,并编程实现简单通讯录查询实验。

二.实验内容

实验3.1 移植嵌入式数据库sqlite

实验3.2 简单通讯录查询实例设计和测试

三.预备知识

Linux使用、数据库相关知识等

四.实验设备及工具(包括软件调试工具)

硬件:ARM 嵌入式开发平台、PC 机Pentium100 以上、串口线。 软件: WinXP或UBUNTU开发环境。

五.实验步骤

5.1 移植嵌入式数据库sqlite 步骤【参看教材103页】:

第一步,解压缩sqlite源码,命令_____#tar zxvf sqlite-autoconf-3071300.tar.gz__________,

在解压后的文件夹下,可以看到源码文件有___aclocal.m4_____和____configure.ac_________文件,生成Makefile的配置脚本文件____Configure__________,并检查当前文件夹下__B____(A.存在 B.不存在)Makefile文件。

第二步利用configure脚本文件生成基于ARM实验台的Makefile,具体命令为

_______#./Configure CC_=arm-linux-gcc-prefix=/opt/sqlite-host=arm-linux_______________________(假设安装目录为/opt/sqlite),并检查当前文件夹下____A___(A.存在 B.不存在)Makefile文件。

第三步,编译sqlite,命令为_______#make_______________________,编译过程中使用的

编译器为_________gcc__________________。

第四步,安装sqlit,命令为______#make___install________________。安装完成后到_____/opt/sqlite_____文件夹下去查看相关文件,可以看到该文件夹下有___lib_______、____bin______、___include_______和share文件夹,其中可执行文件sqlite3位于_bin____文件夹,库位于____lib___文件夹。

第五步,将sqlite3拷贝到开发板bin目录下,将库下的文件拷贝到开发板的lib目录下【注意链接文件的创建】

第六步,数据库的使用 方式1:命令操纵数据库

在超级终端环境下创建数据库stucomm.db,命令为__sqilte3 stucomm.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下。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top