在应用程序的某个点清除sqlite数据库

时间:2012-10-17 12:50:26

标签: java android sqlite android-sqlite

我想在每次点击应用程序中的特定位置时清除我的SQLite数据库。

我打算制作一个我称之为resetTables()的方法,但这似乎比我预期的更具挑战性,因为我真的不知道放在哪里。这是一个片段。

@Override
        public void onCreate(SQLiteDatabase db) {

            db.execSQL(DATABASE_CREATE);

        }
        public void reset(SQLiteDatabase db) {

            db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);

        }

我在重置时遇到黄线,我无法在我的代码中调用此方法。有什么想法吗?

请注意,此question类似,但无法帮助我。

这有效:

public void resetTables(){
        mDb.delete(TABLE_NAME, null, null);
    }

2 个答案:

答案 0 :(得分:1)

首先创建一个创建数据库和表的方法。

 /**
     * Re crate database
     * Delete all tables and create them again
     * */
    public void resetTables(){
        SQLiteDatabase db = this.getWritableDatabase();
        // Delete All Rows
        db.delete(TABLE_NAME, null, null);
        db.close();
    }

并使用按钮点击事件调用上述方法。

答案 1 :(得分:0)

我这样做了......

@Override
public void onOpen(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    super.onOpen(db);

     db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
}

是的它确实对我有用.. :)