1.新建一个sqllite数据库
var App_DB = window.openDatabase("*_App", "1.0", "*_App DB", 10000000);
2.新建一个数据库事务
App_DB.transaction(DownloadData, function() {
justep.Util.hint(message1, {
parent : this.getRootNode()
});
}, function() {
justep.Util.hint(message, {
parent : this.getRootNode()
});
});
3.定义DownloadData方法
function DownloadData(tx) {
tx.executeSql('DROP TABLE IF EXISTS ' + 表名);//删除表
tx.executeSql('CREATE TABLE IF NOT EXISTS ' + 表名//新增表+ ' 字段名,字段名,)');
// 遍历data
var data = this.comp('*');//数据来源的data
data.each(function(param) {
// 在每次遍历data的时候讲遍历出来的数据新增到对于的表中
var sql = 'INSERT INTO ' + 表名+'(字段名,字段名)VALUES(值,值);//给本地数据库目标表新增数据
var sql = 'UPDATE '+ 表名+ ' SET 字段名=值 WHERE 字段名="' + 值+'"';//更新本地数据库目标表对应的数据
var sql ='delete from ' + 表名+ ' where 1=1';// 删除表里的内容
tx.executeSql(sql);
});
4.根据表名去数据库查询并将查询到的数据加载到对应的data中
function querySuccess(tx, results) {// 查询成功后调用的回调函数
var table=LocalDB.rowsToTable(results.rows);//转换查询到的数据格式,以便加载到data中
var data = this.comp("*");//目标数据库
data.clear();//先清除
data.loadData(table);//再加载
var len = results.rows.length;//判断数据的条数
var LocalDB={
rowsToTable : function(rows) {
var table = {
"@type" : "table",
"rows" : []
};
for ( var i = 0, len = rows.length; i < len; i++) {
table.rows.push(cloneObj(rows.item(i)));
}
return table;
}
}
小编:重庆王 2015-08-12 18:04