2014-10-02 49 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 
}); 
相关问题