Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 不幸的是,onupgrade drop命令在我的应用程序中不起作用_Android_Sqlite - Fatal编程技术网

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()时出现问题的原因。据我所知并非如此。我只是想让自己熟悉一下你是怎么做的,会出什么问题。它应该被缓存。