嗨,我正在創建一個存儲用戶輸入密碼的應用程序。並且每當他需要更改密碼時,都必須更改數據。 我面臨的問題是,當我打電話給DBHelper類(我創建完成我所有的數據庫工作)時,如果可用,它不刪除表。自動升級數據庫版本
如果有人告訴我如何在調用DBHelper類時刪除表中的條目會更有幫助。
我意識到OnCreate和OnUpgrade函數除了第一次創建數據庫時都沒有執行。
也自動更改數據庫版本也有助於我猜測,但我不知道該怎麼辦? 這裏是DBhelper類
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS '" + DATABASE_TABLE+"'");
db.execSQL("CREATE TABLE " + DATABASE_TABLE +" (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "+
KEY_ID +" INTEGER, "+
KEY_X +" INTEGER, "+
KEY_Y +" INTEGER);"
);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS '" + DATABASE_TABLE+"'");
onCreate(db);
}
public long createEntry(int name, int sx, int sy) {
// TODO Auto-generated method stub
ContentValues cv=new ContentValues();
cv.put(KEY_ID, name);
cv.put(KEY_X, sx);
cv.put(KEY_Y, sy);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
只需增加數據庫版本就可以了。 (知道它晚了)。 – 2015-02-06 16:45:23