2

I want to return multiple rows as an array from a particular table in a database in WebSQL inside a javaScript function. Below is my code.

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

Any suggestions?

1 Answer 1

1

I just managed to do that using Return a COUNT from a WebSQL query in a javaScript function

According to the link, using jQuery it goes like this and it works! But I would like to have a javaScript answer.

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
});
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.