2012-01-10 80 views
0

我不知道該怎麼verifiy SQLite的命令在Android中...... 當我有代碼:如何驗證SQLite命令?

final String CREATE_TABLE_USER = 
        "CREATE TABLE tbl_user (" 
        + "id INTEGER PRIMARY KEY AUTOINCREMENT," 
        + "username VARCHAR(20));"; 
db.execSQL(CREATE_TABLE_USER); 

我要檢查「已創建」:

if (tbl_user has been created) 

哪有我寫這個? Eclipse說我不能將void轉換爲布爾值...

回答

0

如果創建表失敗,將引發異常。所以如果創建沒有拋出異常,你可以確信表格存在。

1

如果SQL語句無法執行,則會引發異常。這意味着如果通常在db.execSQL(...)之後的代碼運行,則SQL被正確執行。簡單!

如果您擔心表格已存在的可能性,請考慮使用CREATE TABLE IF NOT EXISTS tbl_user (...)


[編輯]:如果你想檢查是否建立存在,則需要陷阱異常:

try { 
    db.execSQL(CREATE_TABLE_USER); 
    doMessage("made the tbl_user table"); 
} catch (SQLException exn) { 
    doMessage("did not make the tbl_user table: " + exn.getMessage()); 
    throw exn; // Let the exception propagate as we're just reporting... 
} 
+0

謝謝您的回答;)但我仍然實施了 「IF NOT EXISTS」 ......我想我的問題還不夠清楚。我喜歡用「表tbl_user已創建」或「表tbl_user因爲任何事情而未被創建...」來發出警報。爲此,我必須通過if ... – 2012-01-10 10:47:21

+0

@ user1085392來檢查:但是'if'是這樣做的錯誤方式。如上所示,使用'try'。 – 2012-01-10 11:08:51

+0

非常好:D謝謝。我認爲就是這樣。只剩下一個問題:SQLException無法解析爲類型。 痛苦的...不得不導入SQLException包。 問題已被清除:)謝謝你們! – 2012-01-10 11:18:03