/* to use WebSQL or the SQLite plugin (https://github.com/davibe/Phonegap-SQLitePlugin) with the same function) */ executeSqlBridge: function(tx, sql, params, dataHandler, errorHandler) { var self = this; if (typeof self.db.dbPath !== 'undefined') { //Native SQLite DB with phonegap : https://github.com/davibe/Phonegap-SQLitePlugin/ //this is a native DB, the method signature is different: var sqlAndParams = [sql].concat(params); var cb = function(res) { //in WebSQL : result.rows.item(0) //in the phonegap plugin : res.rows[0] res.rows.item = function(i) { return this[i]; }; //the result callback hasn't the tx param dataHandler(tx, res); }; tx.executeSql(sqlAndParams, cb, errorHandler); } else { //Standard WebSQL tx.executeSql(sql, params, dataHandler, errorHandler); } },