Ho una transazione di database PhoneGap funzionante in cui sono in grado di eseguire una query sql ed elaborare i risultati. Tuttavia, nel tentativo di renderlo riutilizzabile, ho bisogno di essere abe per passare argomenti alla funzione di query. Ci dovrebbe essere un modo migliore di dichiarare variabili globali e accedervi/resettare nella funzione di query. Apprezzare tutto l'aiuto nella conversione di questo:come passare argomenti alla funzione di transazione del database PhoneGap
//update images function
function updateGalleryCovers() {
var db = window.openDatabase("test db", "1.0", "Cordova DB", 200000);
db.transaction(queryDB_u_g, errorCB);
}
//Query the database
function queryDB_u_g(tx) {
var query = 'SELECT cover_img, objectId FROM USER_GALLERY WHERE userId="'+getUserId()+'"';
tx.executeSql(query, [], querySuccess_u_g, errorCB);
}
//Query success callback
function querySuccess_u_g(tx, results) {
var len = results.rows.length;
for (var i=0; i<len; i++){
// process results
}
}
a qualcosa di simile:
//update images function
function updateGalleryCovers(userid) {
var db = window.openDatabase("test db", "1.0", "Cordova DB", 200000);
db.transaction(queryDB_u_g, userid, errorCB);
}
//Query the database
function queryDB_u_g(tx, userid) {
var query = 'SELECT cover_img, objectId FROM USER_GALLERY WHERE userId="'+userid+'"';
tx.executeSql(query, [], querySuccess_u_g, errorCB);
}
//Query success callback
function querySuccess_u_g(tx, results) {
var len = results.rows.length;
for (var i=0; i<len; i++){
// process results
}
}
Grazie!
E perché il tuo secondo esempio non funziona? Sono abbastanza sicuro che puoi passare le variabili nella funzione e usarle. – Leeish
@Live: Il metodo phonegap Database.transaction() accetta i nomi delle funzioni che eseguono la query, seguite dai nomi delle funzioni di callback. Non vi è alcuna disposizione per passare un argomento che io conosca. http://docs.phonegap.com/en/2.3.0/cordova_storage_storage.md.html#Database – nikhilw
Lasciatemi guardare un po 'del mio codice ... – Leeish