代码之家  ›  专栏  ›  技术社区  ›  holydragon

如何在Android上从SQLite检索数据

  •  0
  • holydragon  · 技术社区  · 7 年前

    我在做一个使用离子1和AngularJS的项目。我已经成功地将数据存储在SQLite中。离子加速器模拟器的研究 ionic serve --lab )显示数据( console.log() )具体如下:

    SQLResultSetRowList {0: {…}, length: 1}
    0: { // data }
    length: 1
    

    因此,我可以通过访问结果数组中的对象轻松地获取数据。然而,在真正的移动设备上(我正在Android上测试),数据是这样显示的。

    enter image description here

    问题就在这里。我想进入 rows Closure 那是什么 <function scope> 就在里面 item: function ,我真的不知道它是如何生成的(我的意思是所有这些),因为我想要的唯一结果就是我在模拟器中得到的结果。

    我就是这样插入数据的。

    $cordovaSQLite.execute(db, "INSERT OR REPLACE INTO token (token) VALUES (?)", [myData]).then(function (res) {
                    callback();
                }, function (error) {
                    ErrorHandler.handle(error);
                });
    

    我就是这样查询数据的。

    $cordovaSQLite.execute(db, "SELECT * FROM token").then(function (res) {
                    console.log(res);
                }, function (error) {
                    ErrorHandler.handle(error);
                });
    

    有人有办法解决这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   holydragon    7 年前

    可以。我自己找到了解决这个问题的办法 this

    我需要像这样使用它。

    if (res.rows.length > 0){
                        if (window.cordova) {
                            // Mobile Device
                            console.log(JSON.parse(res.rows.item(0)));
                        } else {
                            // Web
                            console.log(JSON.parse(res.rows[0]));
                        }
    }
    
    推荐文章