Titanium:如何检查数据库中是否存在表?

时间:2012-02-29 12:53:20

标签: titanium appcelerator titanium-mobile appcelerator-mobile

如何在执行查询之前检查我的数据库中是否存在特定于天气的表格

示例:我想查看 InfoDB

中是否存在天气详细信息

我想做一些事情: -

var createDB = Titanium.Database.open('InfoDB');
if(Detail exists in InfoDB)
  then
    var rs = createDB.execute('SELECT * FROM Detail');

...谢谢

3 个答案:

答案 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')

避免表存在或表不存在错误。