1

データベースにテーブル名が存在するかどうかを確認する方法を教えてください.テーブル内の要素の数を数える必要があります.しかし、データベースにテーブルが存在しない場合はエラーになります.?

データベースにテーブルがない場合 (名前 =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");

                    });
    }
});
});
4

3 に答える 3

2

これをチェックして:

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 {

            }
        });
    }
);
于 2014-07-03T13:45:33.907 に答える
0

PRAGMA table_infoを実行し、何か返されるかどうかを確認します。

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) {
            // ...
        });
    }
});
于 2013-07-16T06:38:44.353 に答える