我们正在建造一个Ionic 2(目前是beta 11)。
我们正在使用内置的SqlStorage数据库。在安卓系统中,我们的应用程序能够很好地读写日期,但使用iOS,我们只能编写数据。当我们试图读取数据时,我们会得到返回的行数,但是没有实际的数据。
getQueueItems(): Promise<any> {
return new Promise<any>((resolve, reject) => {
this.sql.query('SELECT * FROM queue').then(
(res) => {
console.log(res, 'result');
// resolve(sqlResult.res.rows);
}
);
}).catch(() => {
});}
结果集如下所示:
{
"tx": {
"db": {
"openargs": {
"name":"__ionicstorage",
"location":2,
"createFromLocation":0,
"backupFlag":2,
"existingDatabase":false,
"dblocation":"nosync"
},
"dbname":"__ionicstorage"
},
"txlock":true,
"readOnly":false,
"executes":[],
"finalized":true
},
"res": {
"rows": {
"length":3
},
"rowsAffected":0
}
}有人知道如何从SqlStorage中读取数据以便iOS获取数据吗?
发布于 2016-11-16 20:40:07
经过大量的搜索和阅读,我们终于找到了答案。我在这里张贴给未来的搜索者,希望它能帮助你。
诀窍是,为了使查询结果对所有平台都可用,您必须遍历结果集,自己添加适当的对象。
this.sql.query('SELECT * FROM queue').then(
(sqlResult) => {
let queueItems = [];
for(let i = 0; i < sqlResult.res.rows.length; i++){
queueItems.push(sqlResult.res.rows.item(i));
}
resolve(queueItems);
}
);https://stackoverflow.com/questions/40638594
复制相似问题