如何将parameter passing给PhoneGap数据库事务函数

我有一个工作的PhoneGap数据库事务,我可以运行一个SQL查询和处理结果。 但是,为了使其可重用,我需要尝试将查询传递给查询函数。 应该有更好的方法比声明全局variables并在查询函数中访问/重置。 感谢任何帮助转换此:

//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 } } 

像这样的东西:

  //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 } } 

谢谢!

Solutions Collecting From Web of "如何将parameter passing给PhoneGap数据库事务函数"

交易function是由sqlite提供的,而不是phonegap。 这是真的,你不能传递额外的variables的function,因为方法签名sqlite接受。

但是这里有一个相同的工作:

 db_conn.transaction( function(tx){ your_function(tx, parameter1, parameter2) }, ErrorCallBack ); 

在这里,您将一个虚拟函数传递给事务成功callback,并将事务对象一起传递给它。

希望有所帮助