使用SQLITE和EXPO从SQL查询中获取实际的行数组



我试图将整个结果作为从sqlite查询结果对象的排数组:

我已经尝试过results.rows.item(i).id,它工作正常,但是我需要获得整个行而不是仅一个项目,我尝试使用Expo文档中的rows.array (_number),但我无法弄清楚如何实际使用.array(_number)

我的代码片段:

iris.transaction(tx => {
    tx.executeSql(
        `select id, date from days`,
        [],
        (tx, results) => {
            for(i=0; i<results.rows.length; i++){
                var date = results.rows.item(i).date.split('-');
            }
        }
    )
});

根据世博文档,result.rows具有_array,它将所有项目返回作为数组,您可以尝试像

一样尝试
if (result && result.rows && result.rows._array) {
  /* do something with the items */
  // result.rows._array holds all the results.
}

希望这会有所帮助!

打字条解决方案以正确地铸造_ array而不使用;

tx.executeSql("SELECT * FROM ITEMS", [], (_, { rows }) => {
  const r = rows as unknown as { _array: MyItem[] };
  result = r._array;
});

相关内容

  • 没有找到相关文章

最新更新