ionic 3 中的 Sqlite 查询输出错误

Wrong output on Sqlite query in ionic 3

我正在构建一个带有 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... 但在我的平板电脑上,我得到以下信息: data on phone

有人知道为什么我会得到完全不同的东西以及我如何才能得到正确的数据吗?

提前致谢!!

您看到的是 SQLite 的 javascript 包装器。该包装器可以与 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-storage-starter-app