我正在使用 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 。而且我不明白如何附加数据库。当我运行上面的代码时,我得到了数据库的一些响应。
最佳答案
我使用此查询从数据库中获取所有表。 从 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/