我的数据库存在很大问题。
这是我以前创建数据库的代码:
public static void initDatabase(Context context){
db = context.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS " +
TABLE_NAME + " (number TEXT, name TEXT);");
db.close();
Log.i(TAG, "Database opened ok");
}
现在的问题是,我需要添加一个包含新信息的新表。 如果我以相同的方式创建一个新表,我在尝试访问DataBase时遇到了应用程序问题,它会中断。
任何人都可以帮助我吗?我不太清楚如何在Android中正确地创建数据库。
编辑:
这是新表的代码....
public static void initDatabase(Context context){
db = context.openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS " +
TABLE_NAME + " (tlf TEXT, name TEXT);");
db.close();
Log.i(TAG, "Database opened ok");
}
这就是为什么我之前没有添加它,因为它是另一个与另一个几乎相同的表....
编辑并解决:
必须使用SQLiteOpenHelper类中的onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
方法才能更新我的数据库表。
有关详细信息:https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
非常感谢大家!
答案 0 :(得分:0)
有必要使用SQLiteOpenHelper类的onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)方法来能够更新我的数据库表。
了解更多信息:https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html