吐泡泡的龙

Reborn-开始嵌入式数据库开发 -- 使用sqlite建立嵌入式Web系统1

    由于本系统落于某单板系统上,与嵌入式软件有复杂的调用和复用逻辑。从简单入手,
硬件系统为PPC单板×N,底层功能已经完成。目标是一个可控的Web管理系统。
    数据库建立为在montavista的虚拟文件系统中,创建一个xx.db文件,然后在板子上通过
sqlite命令行直接建表。这部分直接省略了,没有存储过程,没有表间关系,尽量简单点。
   服务器端可使用的容器很多,这边不一一列举,反正开源。做好makefile直接移植到mt-linux。
    数据库的设计思路如下:
    用户认证、数据读取、数据保存。 这三个模块够了,数据是啥米啊?先别管。数据读取是
指从单板的应用层直接先保存数据到db,前端web页面再从db读取。数据保存是指前端web保存
数据到db,应用层侦测到数据变化后,通过任务存放变化数据到寄存器、全局变量。

   前端页面采用Html-cgi转化为C代码,通过cross-complie工具生成执行文件cgi,scp至单盘的工作目录。
   嵌入式服务器的配置部分需要把默认路径指向工作目录,这样输入http://192.168.1.1(伪,IP自己定好)
这样的东东时,直接调用cgi,webserver始动,怎么动我就不管了。
   前端页面之数据读取--核心代码--如下
--一小段Sqlite接口调用--

 1sqlite3 *db=NULL;
 2char *zErrMsg = 0;
 3int rc;
 4char **azResult;
 5int nrow = 0, ncolumn = 0;
 6rc = sqlite3_open("/xx.db"&db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件
 7if( rc )
 8 {
 9      fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
10      sqlite3_close(db);
11      exit(1);
12 }

13 char * sql = "SELECT * FROM table1 where id = 1 ";
14sqlite3_get_table( db , sql , &azResult , &nrow , &ncolumn , &zErrMsg );

这种代码在docin上找sqlite使用文档吧,一般都是这样,这种封装的接口有利有弊,先用着吧。
现在从web页面取一段数据应该没问题了。

posted on 2011-03-08 14:30 泡泡龙龙 阅读(171) 评论(0)  编辑  收藏 所属分类: embedded-Linux


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(6)

我参与的团队

随笔档案

文章分类

文章档案

相册

搜索

最新评论

阅读排行榜

评论排行榜