HTML5 Local Database Callback - PullRequest
       0

HTML5 Local Database Callback

1 голос
/ 02 марта 2012

Я вставляю сотни строк в локальную базу данных.

После этой вставки я бы хотел ВЫБРАТЬ * из этой таблицы, чтобы получить и отобразить все эти записи.

Я попытался поместить оператор Select в обратный вызов транзакции INSERT, но он не работает должным образом.Я проверил оператор SELECT, чтобы убедиться, что он работает, когда я обновляю страницу.

Кто-нибудь может помочь?После того, как все записи будут вставлены, я хочу иметь возможность ВЫБРАТЬ их все без обновления страницы.Спасибо!

database.db.transaction (function (tx) {JSON PROCESSING

                tx.executeSql('INSERT INTO ...'),
                    [DATA IS HERE],

                    function (tx, callback) {
                        alert(callback.message);

                        database.db.transaction(function (tx) {
                        tx.executeSql('SELECT * from table;', [], tableSelectHandler, errorHandler);
                                        });
                                    },
                    function (tx, error) {
                         alert(error.message);
                    }

            });

1 Ответ

0 голосов
/ 06 сентября 2012

Уже немного поздно, чтобы ответить на этот конкретный вопрос, но кто-то может помочь, так что ...

Функция db.transaction также имеет функции обратного вызова для Error и Success. Вы можете разместить свой код SELECT в обратном вызове Success, и он будет выполнен в конце транзакции после выполнения всех вставок. В основном у вас должно быть что-то вроде этого:

database.db.transaction(function (tx) { //JSON PROCESSING

    tx.executeSql('INSERT INTO ...'),
        [DATA IS HERE],
    function (tx, callback) {
        alert("Insert ok");
    },
    function (tx, error) {
        alert("Error inserting: " + error.message);
    }
},
function (error) { // This is the Error callback of the TRANSACTION
     alert(error.message);
},
function (result) { // This is the Success callback of the TRANSACTION
    alert("TRANSACTION completed");

    database.db.transaction(function (tx) {
        tx.executeSql('SELECT * from table;', [], tableSelectHandler, errorHandler);
    }); // Your tableSelectHandler should take care of the result of the Select
});

Надеюсь, это поможет. Ура! * * 1006

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...