2017-05-29 87 views
-1

我有以下幾點:列名的SQLite的Android不工作工作室

public static final String COL_4 = "ID"; 

和:

public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table " + TABLE_NAME + " (LastScore INTEGER, Highscore INTEGER, Title TEXT, ID BOOLEAN)"); 

這工作完全;

但是,如果我改變ID,比方說,「約翰」(在聲明和execSQL),我收到以下錯誤:

android.database.sqlite.SQLiteException: no such column: John (code 1): , while compiling: UPDATE Player_Stats SET LastScore=?,Title=?,John=?,Highscore=? 

任何想法如何的名稱這樣的變化字符串拋出異常? 謝謝!

編輯:問題不是布爾。如果將其更改爲Integer,則會發生同樣的問題。與「ID」的作品,不與「約翰」

+0

是否要將列名ID更改爲John? –

+0

'約翰' - 這不是一個專欄,只是一個價值。請提供您的綁定聲明 – FieryCat

+0

在您的COL_4 =「ID」數據類型是布爾值 –

回答

0

看來我第一次運行它時,數據庫是用ID列創建的。因此,我只是晚些時候調用onUpgrade()而不是onCreate(),它期望一個名爲ID的列而不是John。我無法做到這一點,但我相信刪除數據庫並重新開始將解決問題。感謝您的支持!

0

布爾數據類型

有SQLite的沒有原生布爾數據類型。 SQLite沒有單獨的布爾存儲類。相反,布爾值被存儲爲整數0(假)和1(真)。

+0

正確,但當我將其作爲整數處理時,情況也是如此。 – Ziad