Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save orbitaloop/2009518 to your computer and use it in GitHub Desktop.
Save orbitaloop/2009518 to your computer and use it in GitHub Desktop.
executeSql Bridge For PhonegapSQLitePlugin (because there are some differences between the WebSQL API and the plugin)
/* 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);
}
},
@23min
Copy link

23min commented Mar 13, 2012

where exactly do I call this?

@orbitaloop
Copy link
Author

Instead of calling the standard executeSql of WebSQL, you can call this function.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment