嗨,我正在创建一个存储用户输入密码的应用程序。每当他需要更改密码时,就必须更改数据。我面临的问题是,当我调用 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);
}