Получить количество записей в таблице - PullRequest
0 голосов
/ 04 февраля 2011

У меня есть следующий фрагмент кода, который должен быть в состоянии регистрировать на консоли количество записей (если таблица subjects существует).

db = openDatabase("myDatabase", "1.0", "", 200000);

db.transaction(function(tx) {
    tx.executeSql("SELECT COUNT(*) AS nor FROM subjects", [],
        function(result){
            console.log(result.rows);
        },
        function(tx, error){
            tx.executeSql("CREATE TABLE subjects (id REAL UNIQUE, name TEXT)");
        }
    );
});

На самом деле result.rows регистрируется как неопределенное, поэтому я даже не могу вызвать метод item(int index) для него. Как я могу получить доступ к количеству возвращенных записей?

1 Ответ

2 голосов
/ 04 февраля 2011

Вы забыли параметр tx в функции обратного вызова onSuccess. Ваша переменная result фактически является объектом транзакции.

Вот исправленный код:

db = openDatabase("myDatabase", "1.0", "", 200000);

db.transaction(function(tx) {
    tx.executeSql("SELECT COUNT(*) AS nor FROM subjects", [],
        function(tx, result){ // <-- this is where you forgot tx
            console.log(result.rows);
        },
        function(tx, error){
            tx.executeSql("CREATE TABLE subjects (id REAL UNIQUE, name TEXT)");
        }
    );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...