1

每次在我的应用程序中遇到特定位置时,我都想清除我的 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);

        }

我在重置时得到一条黄线,我无法在我的代码中调用此方法。有任何想法吗?

请注意这个问题是相似的,但无法帮助我。

这有效:

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

2 回答 2

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();
    }

并使用您的按钮单击事件调用上述方法。

于 2012-10-17T13:12:35.270 回答
0

我已经通过这种方式做到了...

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

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

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

于 2012-10-17T13:04:11.630 回答