Phonegap-------Storage
phonegap的storage里大部分方法是用来处理数据存储的。其中包括数据库操作和本地存储。
其中,数据库部分,有一个Database对象。
一,方法openDatabase(创建一个新数据库或打开一个数据库)。
var database = window.openDatabase(database_name, database_version, database_displayname, database_size);
其中第一个参数为数据库的名称,第二个为数据库的版本,第三个为数据库的显示名称,第四个为数据库的大小。
返回值为一个Database对象。该对象下有两个方法: transaction 与 changeVersion。
二,方法transaction为数据库对象操纵数据时使用的方法。该方法有三个参数,分别为populateDB, errorCB, successCB。
第一个参数为具体包含数据库执行动作的方法。即里面可以执行一些数据库语句。该方法默认有一个参数,为执行数据库操作的对象。
样例:
function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
}
第二个参数为执行错误时候的方法。
第三个参数为执行成功时候的方法。
三,第三个重要的方法即为executeSql('数据库操作语句', [], querySuccess, errorCB);
第一个参数为要执行的数据库语句。与普通操纵数据库语句没太大区别。
第二个参数为一个数组对象,暂不明白有什么作用。
第三个参数为执行成功后,调用的方法。
第四个参数为执行错误时候调用的方法。
四,querrySuccess(tx, results)方法。(此函数名不为强制要求。仅仅是一个函数名)
第一个参数没有明确的说明,估计与上面的tx对象相同,即为操纵数据库的对象。
第二个参数为执行数据库成功后的结果对象。该对象有三个属性,insertId,rowsAffected,rows。
insertId为执行插入操作后,返回操作的行号。
rowsAffected为一number变量。即影响到数据库表中行的数量。如插入操作后,其为插入的行数,而查询操作后,其为0。
rows类型为object,其有两个属性:length与item。其多用于查询操作,返回查询到的数据。