基于关系型数据库的App Inventor网络应用(6)
第六节 操作SQLite数据库
创建数据表
首先创建一个名为word(单词表)的数据表,该表有三个字段,分别为wid、english、chinese,其中wid为整数类型,是数据表的主键,english字段用于保存英文单词,chinese字段用于保存汉字。创建数据表的命令如下,对wid的修饰“INTEGER PRIMARY KEY”可以确保wid是自动增加的整数。
CREATE TABLE word (wid INTEGER PRIMARY KEY,english varchar(50), chinese varchar(100))
向工作区拖入一个inject节点,编辑该节点,如图22所示,设节点的Topic属性为创建表的指令,设节点的标签(Name)为“创建表”,编辑完成后,点击完成按钮。
图22 设置“创建表”的命令
2. 添加输出节点
向工作区拖入一个debug节点,并设置该节点的Output为完整的msg对象,设Name为“创建表反馈”,然后将三个节点连接起来,如图23所示。
图23 连接三个节点
3. 部署并执行程序
点击部署按钮,然后点击创建表节点(左侧的按钮),观察debug窗口中的变化,如图24所示。
图24 完成word表的创建
4. 向word表中添加记录
添加记录的命令格式如下:
INSERT INTO word values (null,'good', '好')
(1) 添加输入节点
向工作区拖入一个inject节点,设置其topic属性为上述命令,设Name为“插入记录”;
(2) 连接输入节点与数据库节点;
(3) 部署并执行程序:点击插入记录节点,观察程序执行结果。如图25所示。
图25 向word表中插入一条记录
5. 查询表中的记录
命令格式如下:
select * from word
(1) 添加输入节点
向工作区拖入一个inject节点,设置其topic属性为上述命令,设Name为“查询记录”;
(2) 连接输入节点与数据库节点;
(3) 部署并执行程序:点击查询记录节点,观察程序执行结果。如图26所示。这了要提醒读者记住,数据库查询的指令来自于msg对象的topic属性,而查询的结果保存在msg对象的payload属性中,了解这一点非常重要,后续的程序都要依据这一点来编写。
图26 对word表的查询结果
以上简单地介绍了对SQLite数据库的建表、插入及查询操作,流程序如图27所示。熟悉SQL语句的读者可以自行试验其他操作,如更新、删除操作,不熟悉的读者建议在网上搜一下SQLite的操作指令,尝试着添加新的inject节点,并熟悉数据库的增删改查操作。下一节我们将进入网络编程环节,编写访问数据库的服务程序,并从浏览器访问Node-RED服务。
图27 操作SQLite数据库的三个流程序