0

我正在使用 phonegap(cordova 2.1.0) 进行 IOS/android 应用程序开发。每次我必须进行查询以选择或插入/更新时,我都会这样做:

//to insert username, password into db
var db = window.openDatabase(dbName, "1.0", gAppConfig.dbMessage, 200000);                
db.transaction(queryUpdateURL, errorQuery);

function queryUpdateURL(tx) 
            {
                var newURL = document.getElementById('changeServerURL').value ; 
                alert('new url='+newURL);

                tx.executeSql("update "+gAppConfig.configTable+" set value='"+newURL+"' where key='serverURL'; ", queryUpdateSuccess, errorQuery);

                return;
            }

因此,每次执行查询时都必须打开数据库,或者只打开一次就足够了。然后,如果数据库打开成功,则调用“queryUpdateURL”,如果其中给出的查询成功,则调用“queryUpdateSuccess”,否则调用 errorQuery 函数。所以,只需进行一次查询,就会调用三个函数。它是正确的方式/唯一的方式还是存在任何其他解决方法。这似乎真的很痛苦,为单个查询创建三个函数。任何建议都非常受欢迎。谢谢。

4

1 回答 1

1

欢迎来到异步编程。为了减少您需要进行的方法调用次数,您始终可以保存“db”变量,这样您就不必继续调用 window.openDatabase。除此之外,您需要遵循事务 -> executeSql -> 成功或失败堆栈才能将内容添加到数据库中。

于 2012-12-07T15:40:03.223 回答