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