Неверный вывод запроса Sqlite в ионном 3 - PullRequest
0 голосов
/ 12 сентября 2018

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

Мой простой код

this.databaseService.execQuery('SELECT * FROM timelog WHERE id = ? ORDER BY id DESC',[this.ongoingTimelog.id])
        .then((data) => {
            console.log(data);
            debugger;
        });


execQuery(query: string, params?: Array<string | number>): Promise<any> {
    return new Promise((resolve, reject) => {
        if (!query) {
            resolve();
        }
        this.db.executeSql(query, params)
            .then((result: any) => {
                resolve(result);
            })
    });
}

Так что обычно я подозреваю (как я получаю на моем компьютере), что данные похожи на data.rows [0] .id ... Но на моем планшете я получаю следующее: данные по телефону

Кто-нибудь знает, почему я получаю что-то совершенно другое и как я могу получить правильные данные?

Спасибо заранее !!

1 Ответ

0 голосов
/ 12 сентября 2018

То, что вы видите - это оболочка javascript для SQLite. Эта оболочка позволяет общаться с js и быть общей для Android и iOS.

Ваши данные есть, скриншот показывает, что у вас есть один предмет. Для доступа вам необходимо:

this.databaseService.execQuery('SELECT * FROM timelog WHERE id = ? ORDER BY id DESC',[this.ongoingTimelog.id])
    .then((data) => {
        console.log(data.rows.item(0));
        debugger;
    });

Требуется data.rows.item (0) .id вместо data.rows [0] .id

Проверьте это приложение, оно может помочь. Cordova-SQLite-хранение-стартер-приложение

...