使用javaScript从WebSQL数据库返回多行作为数组

Return multiple rows as an array from a WebSQL databse using javaScript

本文关键字:数组 返回 javaScript WebSQL 数据库 使用      更新时间:2023-09-26

我想在javaScript函数内的WebSQL中,从数据库中的特定表中以数组的形式返回多行。下面是我的代码。

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

有什么建议吗?

我刚刚在javaScript函数中使用从WebSQL查询返回COUNT成功地做到了这一点

根据链接,使用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
});