2012-12-07 115 views
0

我爲IOS/android應用程序開發使用phonegap(cordova 2.1.0)。每次我必須做出一個查詢來選擇或插入/更新我這樣做:phonegap db查詢插入/選擇語法

//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開放成功,則調用「queryUpdateURL」,如果在其中給出的查詢成功,則調用「queryUpdateSuccess」,否則調用errorQuery函數。所以,只需進行一個查詢,就可以調用三個函數。這是正確的方式/唯一的方式或任何其他解決方法存在。這似乎非常痛苦,爲單個查詢創建三個函數。任何建議是最受歡迎的。謝謝。

回答

1

歡迎使用異步編程。爲了減少方法調用的次數,您需要讓您始終可以保存「db」變量,因此您不必繼續調用window.openDatabase。除此之外,您需要遵循事務 - > executeSql - >成功或失敗堆棧以將事物添加到數據庫中。