这个视频我们去把数据表里的内容显示出来 … 选择数据表里的内容,可以使用 SELECT … 先去定义一个函数 …
// 选择数据表里的内容
function loadNote() {}
在这个 loadNote() 函数里 … 添加一个 transaction() … 在这个交易里,去执行 SELECT ….
// 选择数据表里的内容
function loadNote() {
db.transaction(function(tx) {
tx.executeSql("SELECT * FROM note ORDER BY id DESC", [], displayNote, onError);
});
}
SELECT … 所有的栏 .. 这个 * 号就表示所有的栏 … FROM 从 note 这个数据表里 … ORDER BY … 按什么来排序 … 按 id 栏, DESC … 降序排列 ..
executeSql() 第二个参数是一个数组,它是匹配 SQL 语句里面的 ? 号用的 .. 这行语句里面,没有使用通配符 … 所以,这里要留一个空白的数组 …
第三个参数是执行成功以后调用的函数 … 叫它 displayNote … 第四个参数是发生错误的时候调用的函数 … 可以使用之前我们创建的 onError 这个函数 …
displayNote()
下面,我们再去定义 displayNote() … 把交易还有结果这两个对象交给这个函数去处理 …
// 显示数据表里的内容
function displayNote(tx, rs) {}
rs 表示结果 .. 这样我们可以使用 rs 这个对象的 rows 属性的 item 去输出找到的结果 … 使用 rows 属性的 length 属性,可以输出结果的数量 …
把它们配合在一起,再加上一个循环,就能输出所在找到的结果 …
下面先去测试一下 … 我们可以先在控制台上试着输出这些内容 …
console.log("找到的结果数量是:" + rs.rows.length);
这里我们要输出的是找到的结果的数量 …
然后在文档的上面,我们需要去调用并且执行 loadNote() 函数 … 这样才能执行 SELECT 语句去查询数据库 … 成功以后,才能继续去执行 displayNote() …
// 载入并显示笔记
loadNote();
保存 …
回到浏览器的上面 … 打开控制台 … 然后再刷新一下 …
控制台上会显示,一共找到了 * 个结果 …
我们再去看一下输出具体某个结果的方法 … (#script.js)
比如我们想输出第 2 个结果的笔记的 id,内容,还有时间 …
console.log("第 2 个结果" + "\n" +
"id:" + rs.rows.item(1).id + "\n" +
"内容:" + rs.rows.item(1).note_content + "\n" +
"时间:" + rs.rows.item(1).note_date
);
这里用到的是结果对象的 rows 属性的 item … 在 item 后面的括号里,可以指定结果的序号 …
后面,再加上数据表里的 栏 的名称 … 比如想输出笔记的 id 栏的内容 … 后面就可以加上 id … 同样,想要输出笔记内容栏里的东西 … 这里应该就是 note_content …
完成以后保存一下 … 回到浏览器 … 刷新 …
在控制台上 … 会显示第1条结果里面的笔记的 id ,内容,还有时间 ...
在下面的视频里,我们可以使用 for 循环,把所有的结果都输出到页面上 …