2014-10-02 50 views
1

我想從javaScript函數中的WebSQL數據庫中的特定表中返回多行作爲數組。以下是我的代碼。使用javaScript將多行作爲來自WebSQL數據庫的數組返回

function getCustomerAccountDetails(){ 
     var dataset; 
     db.transaction(function(tx) { 
      tx.executeSql('SELECT * FROM contacts', [], function(tx, results) { 
       dataset = results.rows; 
      }); 
     }); 
     return dataset 
    } 

有什麼建議嗎?

回答

0

我好不容易纔做,使用Return a COUNT from a WebSQL query in a javaScript function

根據鏈接,使用jQuery它是這樣的,它的作品!但我想有一個javaScript的答案。

function getCustomerAccountDetails(){ 
    var defer = $.Deferred(); 
    db.transaction(function(tx) { 
     tx.executeSql('SELECT * FROM contacts', [], function(tx, results) { 
      defer.resolve(results.rows); 
     }); 
    }); 

    return defer.promise(); 
} 

function exampleThatUsesUserArray(data) { 
    //do something that uses count here 
    return data; 
} 

var dataArray = getCustomerAccountDetails(); 

$.when(dataArray).done(function(data) { 
      //now use count, could be you call another function that needs to use count, 

      //getCustomerAccountDetails();   
      alert(exampleThatUsesUserArray(data.length) + " Row Count"); 

      for(var i = 0; i < data.length; i++){ 
       alert((i+1) + "-" + data.item(i)['id'] + "-" + data.item(i)['firstname'] + "-" 
         + data.item(i)['lastname'] + "-" + data.item(i)['phonenumber']); 
      } 

      //or assign it to another variable, or trigger an event that someone else in you app is listening for 
}); 
相關問題