gpt4 book ai didi

javascript - 如何将参数传递给 PhoneGap 数据库事务函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:28:52 26 4
gpt4 key购买 nike

我有一个工作的 PhoneGap 数据库事务,我可以在其中运行 sql 查询并处理结果。但是,为了使其可重用,我需要能够将参数传递给查询函数。应该有比声明全局变量并在查询函数中访问它们/重置更好的方法。感谢您对此的任何帮助:

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

谢谢!

最佳答案

交易功能由 sqlite 而非 phonegap 提供。的确,由于 sqlite 接受的方法签名,您不能将额外的变量传递给函数。

但这里有一个解决方法:

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

在这里,您将一个虚拟函数传递给交易成功回调并将交易对象与其一起传递。

希望对你有帮助

关于javascript - 如何将参数传递给 PhoneGap 数据库事务函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14368335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com