如何从SQLite,Android中的表中删除所有项目?

时间:2018-07-10 16:18:56

标签: android sqlite android-sqlite sql-delete

创建表格

private void createSerialDateTable() {
    mDatabase.execSQL(
            "CREATE TABLE IF NOT EXISTS SerialDate (\n" +
                    "    id INTEGER NOT NULL CONSTRAINT SerialDate_pk PRIMARY KEY AUTOINCREMENT,\n" +
                    "    name varchar(200) NOT NULL,\n" +
                    "    joiningdate datetime NOT NULL\n" +
                    ");"
    );
}

插入表

 String insertSQL = "INSERT INTO SerialDate \n" +
                "(name, joiningdate)\n" +
                "VALUES \n" +
                "(?, ? );";
        mDatabase.execSQL(insertSQL, new String[]{name, joiningDate});

从列表中删除我尝试过的所有项目,但是它不起作用。

clear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

          //  serialDateList.clear();
            Cursor cursorSerialDate = mDatabase.rawQuery("DELETE  FROM SerialDate", null);
            cursorSerialDate.close();

            adapter.notifyDataSetChanged();
        }
    });

如何确定删除所有数据。
请。救救我!

4 个答案:

答案 0 :(得分:1)

更好的方法是在DataBaseHelper类中创建一个通用方法

public void deleteTableF(String tablename) {

               String selectQuery = "DELETE FROM " + tablename;

               SQLiteDatabase db= this.getWritableDatabase();

               db.execSQL(selectQuery);
            }

然后在要删除代码中特定表的地方调用deleteTableF方法。

SQLiteDatabase db =  = new DataBaseHelper(this); // Dbhelper class object
 db.deleteTableF("table_name");

答案 1 :(得分:0)

尝试使用此代码删除表中的所有行:

database.delete(tablename, null,null);

答案 2 :(得分:0)

rawQuery用于select语句以获取行。 使用execSql或删除方法

答案 3 :(得分:0)

您可以尝试这个

clear.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        db.execSQL("DELETE FROM "+ TABLE_NAME);
        db.close();

        // Other codes here
    }
});