var td2 = document.createElement('td');
td2.style.paddingLeft = "3px";
td2.style.paddingRight = "3px";
td2.innerHTML = rs.rows.item(i).action;
var td3 = document.createElement('td');
td3.style.paddingLeft = "3px";
td3.style.paddingRight = "3px";
td3.innerHTML = rs.rows.item(i).details;
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
historyTable.appendChild(tr);
}
});
});
清单 12中,首先获取用于显示的日志的HTML表格historyTable,并设置其样式及表头。
然后在一个transaction(事务)中,执行一条SQL语句,查询系统日志,并将每条日志添加为historyTable 中的一行以便显示。图6显示了系统日志的效果。
图 6.系统日志
记事本
系统提供了一个简单的记事本,实现了文本文档的基本操作。文本文档包含标题和内容两个显式属性,以及一个名为 id 的隐式属性。与系统日志类似,本地数据库为文本数据的存储提供了底层的支持。图 7显示了记事本程序的界面。
图 7.记事本
当编辑完文档的标题与内容后,点击左上角的保存按钮,将执行createFile函数。清单 13显示了createFile函数的详细过程。
清单 13.创建文件
-
function createFile(fileId, fileTitle, fileContent){
-
var idx = 1;
-
var update = false;//false 表示新建,true 表示修改
-
-
if(openDatabase != undefined)
-
db.transaction(function(tx) {
-
tx.executeSql('CREATE TABLE IF NOT EXISTS TextFiles(idx INTEGER,
-
title TEXT, content TEXT)',[]);// 创建文本文档表
-
tx.executeSql('SELECT * FROM TextFiles', [], function(tx, rs){
-
for(var i = 0; i < rs.rows.length; i++) {
-
// 若文档存在,则修改它
-
if(rs.rows.item(i).idx == fileId){
-
db.transaction(function(tx) {
-
tx.executeSql('UPDATE TextFiles
-
SET title=?, content=?
-
WHERE idx='+fileId,
-
[fileTitle, fileContent],
(责任编辑:12图资源库)