Android 不幸的是,onupgrade drop命令在我的应用程序中不起作用
我知道以前有人问过这个问题,但这个答案对我没有帮助。我的表格一次又一次地添加以前插入的元素。我每次都在另一个应用程序中发送插入值。如何停止或放下桌子Android 不幸的是,onupgrade drop命令在我的应用程序中不起作用,android,sqlite,Android,Sqlite,我知道以前有人问过这个问题,但这个答案对我没有帮助。我的表格一次又一次地添加以前插入的元素。我每次都在另一个应用程序中发送插入值。如何停止或放下桌子 private static final String DATABASE_NAME = "contactsManager"; private static final String TABLE_CONTACTS = "contacts"; public void onCreate(SQLiteDatabase db) { String
private static final String DATABASE_NAME = "contactsManager";
private static final String TABLE_CONTACTS = "contacts";
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT," + KEY_PHOTO +" TEXT," + KEY_EMAIL_ID +" TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
//mDbHelper = new DatabaseHandler(mCtx);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
onCreate(db);
}
它是否抛出异常?您是否多次调用
getWritableDatabase()
?你确定这另一个应用程序不是导致重复插入的应用程序,也不是它没有删除数据库的事实吗?您是否尝试过不创建表以验证是否删除了该表?是的,我多次调用getWritableDatabase()。其他应用程序未插入重复项。@BLaZuRE是导致多次调用getWritableDatabase()时出现问题的原因。据我所知并非如此。我只是想让自己熟悉一下你是怎么做的,会出什么问题。它应该被缓存。