我正在使用phonegap(cordova 2.1.0)进行IOS / android app开发。每次我必须进行查询以选择或插入/更新我这样做:
//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;
}
因此,每次执行查询时只需要打开数据库,或者只有一次就足够了。然后,如果db opening成功,则调用'queryUpdateURL',如果在其中给出的查询成功,则调用'queryUpdateSuccess',否则调用errorQuery函数。所以,只需进行一次查询,即可调用三个函数。它是正确的方式/唯一方式还是存在任何其他解决方法。这似乎非常痛苦,为单个查询创建了三个函数。任何建议都是最受欢迎的。感谢。
答案 0 :(得分:1)
欢迎使用异步编程。要减少需要进行的方法调用次数,可以始终保存“db”变量,这样就不必继续调用window.openDatabase。除此之外,您需要遵循交易 - > executeSql - >成功或失败堆栈将事物添加到数据库中。