angularjs - 如何获取sqlite数据库中的表名

标签 angularjs sqlite cordova

我正在使用 cordova + Angular js 来开发移动应用程序。为了创建这个 POC,我使用这个 SQL tutorial 。现在我想从 sqllite 数据库获取表名称。为此我编写了下面的代码。

        vm.tableName = function(){
        var query = "SELECT * FROM sqlite_master WHERE type=?";
        $cordovaSQLite.execute(db, query, ['table']).then(function(res) {
            alert("res "+JSON.stringify(res));
        }, function (err) {
            alert("err "+JSON.stringify(err));
        });
    }

我可以成功地在数据库中读取和写入数据,但无法获取表名。我想,我错过了一些东西,但我得到了相关答案,但它对我不起作用link 。而且我不明白如何附加数据库。当我运行上面的代码时,我得到了数据库的一些响应。

enter image description here

最佳答案

我使用此查询从数据库中获取所有表。 从 sqlite_master WHERE type = 'table' 中选择 tbl_name;。它适用于 android 和 ios,但在 android 中它提供了一个额外的表“android_metadata”。为此我使用下面的代码

for (var i = 0; i < res.rows.length; i++) {
    if (res.rows.item(i).tbl_name !== "android_metadata") 
       ARRAYNAME.push(res.rows.item(i).tbl_name);}

关于angularjs - 如何获取sqlite数据库中的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28315293/

相关文章:

ios - Ionic 应用程序和键盘在 iOS 上放大/变大

angularjs - 使用 AngularJS 中的事件从另一个 Controller 调用函数

java - 无法让 Angular $http 工作

javascript - 在 URL 更改时,在 Angular UI 中,我的子模板没有加载多个 View

java - SQLite 如果数据库中存在输入则跳过或覆盖现有的

java - 使用 Phonegap 在 Eclipse for Android 中进行开发。 'Untagging Socket' 错误=-13

javascript - 没有在 Angular 模型中获取 javascript 值

android - 我的 sqlite 数据库存储在 android 中的什么位置?

android - SQLiteAssetHelper NullPointerException 仅在某些设备上

angular - Ionic 4 - 在平台硬件后退按钮 android 上关闭或关闭模态