Javascript 如何检查sqlite中数据库中是否存在表名(电话间隙)

Javascript 如何检查sqlite中数据库中是否存在表名(电话间隙),javascript,sqlite,cordova,Javascript,Sqlite,Cordova,您能告诉我如何检查数据库中是否存在表名或现在是否存在表名。我需要计算表中的元素数。但如果数据库中不存在表,则会出错 如果数据库中没有表(name=caseName_h)。那么它将给出错误。所以我需要检查。如果存在此表,那么我需要计算元素的数量。? 我试着这样做 db.transaction(function (tx) { tx.executeSql('PRAGMA table_info(a)', [], function(tx, results) {

您能告诉我如何检查数据库中是否存在表名或现在是否存在表名。我需要计算表中的元素数。但如果数据库中不存在表,则会出错

如果数据库中没有表(name=caseName_h)。那么它将给出错误。所以我需要检查。如果存在此表,那么我需要计算元素的数量。? 我试着这样做

 db.transaction(function (tx) {
    tx.executeSql('PRAGMA table_info(a)', [],
              function(tx, results) {
                alert("hh");
    if (results.rows.length == 0) {
        alert("No")
    } else {
        tx.executeSql('SELECT COUNT(*) FROM a' , [],
                      function(tx, results) {
                        alert("Yes");

                    });
    }
});
});
执行,并检查是否有任何返回:

tx.executeSql('PRAGMA table_info(' + caseName_h + ')', [],
              function(tx, results) {
    if (results.rows.length == 0) {
        // no table
    } else {
        tx.executeSql('SELECT COUNT(*) FROM ' + caseName_h, [],
                      function(tx, results) {
            // ...
        });
    }
});

您还可以查询数据库以检查表的存在

tx.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name='tableName'", [], function (tx, result) {
    if (result.rows.length == 0) {
        //Your logic if table doesnt exist
    }
});
此处,如果result.rows.length==0,则表示该表不存在,否则将存在。

请检查:

this.db.transaction(
    function (tx) {
        tx.executeSql("SELECT name FROM sqlite_master WHERE type='table'", [], function (tx, result) {
            if (result.rows.length == 1) {
                //here are no your tables currently
            } else {

            }
        });
    }
);

你能详细解释一下吗?实际上,当我检查一个表是否存在于数据库中时,它没有给出任何错误。那么,在这两种情况下,
results.rows.length
的值是多少?