2011-09-07 115 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没有正确显示。 –

相关问题