如何在执行查询之前检查我的数据库中是否存在特定于天气的表格?
示例:我想查看 InfoDB
中是否存在天气详细信息表我想做一些事情: -
var createDB = Titanium.Database.open('InfoDB');
if(Detail exists in InfoDB)
then
var rs = createDB.execute('SELECT * FROM Detail');
...谢谢
答案 0 :(得分:10)
试试这个:
var createDB = Titanium.Database.open('InfoDB');
var result = createDB.execute('SELECT name FROM sqlite_master WHERE type="table" AND name="your table name"');
if(result.isValidRow()) {
//table found
var rs = createDB.execute('SELECT * FROM Detail');
}
result.close();
答案 1 :(得分:2)
解决了!我用另一种方式。我改用try...catch
。
var createDB = Titanium.Database.open('InfoDB');
try
{
var rs = createDB.execute('SELECT * FROM Detail');
}
catch(err)
{
alert(err)
}
答案 2 :(得分:0)
如果您想在创建表格之前检查它
db.execute('CREATE TABLE IF NOT EXISTS Detail (..columns..)')
或删除表
db.execute('DROP TABLE IF EXISTS Detail')
避免表存在或表不存在错误。