《嵌入式系统与开发》构建嵌入式Linux系统-实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
查询电话号码为10086的相关记录信息,命令为_sqlite> select * from stutable where=10086;__。
方式2:编程操纵数据库
使用C编程模式完成上述功能,代码如下:
#include<stdio.h>
#include"sqlite/sqlite3.h"
int callback(void*,int,char**,char**);
插入2条记录,记录信息如下
001,zhangsan,10086
002,lisi,10000
具体命令为_sqlie> insert into stutable values (001,’zhangsan’,10086); _;
_sqlite> insert into stutable values (02,’lisi’,10000);_;
nResult=sqlite3_exec(db,"creat table stutable(id int(20),name(20),phoneNum(20))",NULL,NULL,&errmsg);
if (nResult !=SQLITE_OK)
{
sqlite3_close(db);
cout<<errmsg;
{
s+=pName[i];
s+=":";
s+=pValue[i];
s+="\n";
}
printf("%s\n",s);
return 0;
}
假设上述代码文件名为sqlite_exp.c文件,编译命令arm-linux-gcc -o test sqlite_exp.c -I /opt/build/ include/ -L /opt/build/lib/ -lsqlite3 _,其中头文件位于/opt/sqlite/include,库位于/opt/sqlite/lib下。
步骤【参看教材103页】:
第一步,解压缩sqlite源码,命令tar zxvf sqlite-autoconf-3080900.tar.gz,在解压后的文件夹下,可以看到源码文件有shell.c和sqlite3.c文件,生成Makefile的配置脚本文件configure.ac,并检查当前文件夹下__A__(A.存在B.不存在)Makefile文件。
sqlite3_free(errmsg);
return 0;
}
string strSq1;
strSq1+="begin;\n";
for (int i=0;i<100;i++)
{
strSq1+="insert into stu values(null.'heh');\n";
}
strSq1+="commit;";
《嵌入式数据库sqlite移植及使用》
实验报告
学生姓名:陈彤
学号:13004405
专业班级:130044
指导教师:孙国梓
完成时间:2016.5.31
实验3嵌入式数据库sqlite移植及使用
一.实验目的
理解嵌入式软件移植的基本方法,掌握sqlite数据库软件移植的步骤,掌握sqlite开发的两种方式—命令模式和C代码开发模式的使用方法,并编程实现简单通讯录查询实验。
二.实验内容
实验3.1移植嵌入式数据库sqlite
实验3.2简单通讯录查询实例设计和测试
三.预备知识
Linux使用、数据库相关知识等
四.实验设备及工具(包括软件调试工具)
硬件:ARM嵌入式开发平台、PC机Pentium100以上、串口线。
软件:WinXP或UBUNTU开发环境。
五.实验Fra Baidu bibliotek骤
5.1移植嵌入式数据库sqlite
//cout<<strSq1<<end1;
nResult=sqlite3_exec(db,strSq1.c_str(),NULL,NULL,&errmsg);
if (nResult !=SQLITE_OK)
{
sqlite3_close(db);
cout<<errmsg<<end1;
sqlite3_free(errmsg);
第二步利用configure脚本文件生成基于ARM实验台的Makefile,具体命令为./configure CC=arm-linux-gcc–prefix=/opt/sqlite–host=arm-linux(假设安装目录为/opt/sqlite),并检查当前文件夹下___A__(A.存在B.不存在)Makefile文件。
int main()
{
sqlite3* db;
int nResult=sqlite3_open("test.db",&db);
if (nResult !=SQLITE_OK)
{
printf("打开数据库失败\n");
return 0;
}
else
{
printf("打开数据库成功\n");
}
char* errmsg;
第五步,将sqlite3拷贝到开发板bin目录下,将库下的文件拷贝到开发板的lib目录下【注意链接文件的创建】
第六步,数据库的使用
方式1:命令操纵数据库
在超级终端环境下创建数据库stucomm.db,命令为_sqlite3 stucomm.db_;
创建数据表stutable,字段包括id整型,name字符型,phoneNum字符型,具体命令为_sqlite> create table stutable (id int(20),name char(20),phoneNum char(20));_;
cout<<errmsg<<end1;
sqlite3_free(errmsg);
return 0;
}
sqlite3_close(db);
return 0;
}
int callback(void* ,int nCount,char** pValue,char** pName)
{
string s;
for(int i=0;i<nCount;i++)
第三步,编译sqlite,命令为_make_,编译过程中使用的编译器为_ arm-linux-gcc _。
第四步,安装sqlit,命令为_make install_。安装完成后到_/opt/sqlite_文件夹下去查看相关文件,可以看到该文件夹下有_bin_、_include_、__lib__和share文件夹,其中可执行文件sqlite3位于_./bin_文件夹,库位于_./lib_文件夹。
return 0;
}
strSq1="select * from where=10086";
nResult=sqlite3_exec(db,strSq1.c_str(),callback,NULL,NULL,&errmsg);
if (nResult !=SQLITE_OK)
{
sqlite3_close(db);
相关文档
最新文档