2011-04-22 17 views
2

我有一個表MY_DATABASE_TABLE ..但我想知道,如果它的存在與否想知道,如果一個表存在與否

public boolean checkDataBase() { 
     SQLiteDatabase checkDB = null; 
     try { 
      checkDB = SQLiteDatabase.openDatabase(MY_DATABASE_NAME, null, 
        SQLiteDatabase.OPEN_READONLY); 
      checkDB.close(); 
     } catch (SQLiteException e) { 
      // database doesn't exist yet. 
     } 
     return checkDB != null ? true : false; 
    } 

上面的代碼沒有工作,總是返回false

+1

你到底想知道什麼?如果數據庫本身存在(如代碼試圖這樣做) - 或者如果數據庫中的表格存在,如主題所述? – 2011-04-22 11:39:43

+0

你的代碼是正確的,問題應該是你的路徑,對不起,你標記其他答案是正確的。非常差的解決方案BTW – Gatunox 2015-09-01 03:14:09

回答

7
SELECT COUNT() FROM sqlite_master WHERE name ='NAME_OF_YOUR_TABLE'; 
+0

+1爲最簡單的解決方案!這個對我有用! – 2011-08-22 15:20:44

+0

最簡單也是不好 – Gatunox 2015-09-01 03:14:39

+0

你的答案中有什麼是'sqlite_master'?可能是我錯了,它應該是表的名稱和'WHERE name ='NAME_OF_YOUR_TABLE'這裏'name'將是列名和'NAME_OF_YOUR_TABLE'這是'name'列的值。 – 2015-10-30 06:52:30

相關問題