如何查詢具體天氣表是否存在或不存在於我的數據庫執行查詢之前?鈦:如何檢查表是否存在或不存在於數據庫中?
例子:我要查天氣詳細表存在或不InfoDB
我想要做一些事情,如: -
var createDB = Titanium.Database.open('InfoDB');
if(Detail exists in InfoDB)
then
var rs = createDB.execute('SELECT * FROM Detail');
謝謝...
如何查詢具體天氣表是否存在或不存在於我的數據庫執行查詢之前?鈦:如何檢查表是否存在或不存在於數據庫中?
例子:我要查天氣詳細表存在或不InfoDB
我想要做一些事情,如: -
var createDB = Titanium.Database.open('InfoDB');
if(Detail exists in InfoDB)
then
var rs = createDB.execute('SELECT * FROM Detail');
謝謝...
試試這個:
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();
! – Maulik 2012-02-29 14:28:42
將首先執行實際上是獲取你的表從sqlite數據庫腳本'sqlite_master'。 – 2012-02-29 14:36:48
解決!我使用替代方式。我用try...catch
代替。
var createDB = Titanium.Database.open('InfoDB');
try
{
var rs = createDB.execute('SELECT * FROM Detail');
}
catch(err)
{
alert(err)
}
如果你想檢查創建表
db.execute('CREATE TABLE IF NOT EXISTS Detail (..columns..)')
或刪除表
db.execute('DROP TABLE IF EXISTS Detail')
避免表存在或表中沒有存在的錯誤了。
db.execute(「CREATE TABLE IF NOT EXISTS你可以做一些這樣的事創造我想要的執行查詢前檢查表,而不是一個解決方案,但小費 – Triode 2012-02-29 13:40:44