离子3中Sqlite查询的输出错误

问题描述 投票:0回答:1

我正在使用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 ...但是在我的平板电脑上我得到以下内容:qazxsw poi

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

提前致谢!!

sqlite cordova ionic3 ionic-native
1个回答
1
投票

你看到的是SQLite的javascript包装器。这个包装器可以与js交谈,并且适用于Android和iOS。

您的数据就在那里,屏幕截图显示您有一个项目。要访问您需要:

data on phone

需要data.rows.item(0).id而不是data.rows [0] .id

检查这个示例应用程序可能会有所帮this.databaseService.execQuery('SELECT * FROM timelog WHERE id = ? ORDER BY id DESC',[this.ongoingTimelog.id]) .then((data) => { console.log(data.rows.item(0)); debugger; });

© www.soinside.com 2019 - 2024. All rights reserved.