2011-09-07 116 views
2

我想添加一個新的列到Android SQLite數據庫,然後我收到錯誤。我該怎麼做,怎麼做?我認爲我必須刪除表格並創建一個新表格,但我不知道如何。如何添加一個新的列到Android SQLite數據庫

+2

你試過了什麼?你能給出一些你有什麼和你想做什麼的代碼嗎? –

+0

我想添加一個新的字符串列,然後我想驗證該列中的字符串是否與按鈕上的字符串匹配。 – Alex

回答

4

最簡單的方法是在SQLiteOpenHelper類中的onUpgrade()方法中添加一些SQL。例如:

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    // If you need to add a column 
    if (newVersion > oldVersion) { 
     db.execSQL("ALTER TABLE foo ADD COLUMN new_column INTEGER DEFAULT 0"); 
    } 
} 

顯然,根據列定義的不同,SQL會有所不同。

+0

我應該試試這個字符串列? db.execSQL(「ALTER TABLE foo ADD COLUMN answer TEXT NOT NULL」); – Alex

+0

@Alex這應該適用於字符串。 –

+0

它不起作用:( – Alex

0
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

    // If you need to add a column 
    if (newVersion > oldVersion) { 
     db.execSQL("ALTER TABLE foo ADD COLUMN new_column INTEGER DEFAULT 0"); 
    } 
} 
+1

上面的pgm沒有正確顯示。 –

相關問題