Ha Jer
Ha Jer

Reputation: 23

How to delete all items from table in SQLite, Android?

CREATE TABLE

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" +
                    ");"
    );
}

INSERT TABLE

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

Delete all items from List I try it But it not working.

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

How can I delete all data definitely.
Please. Help me !

Upvotes: 2

Views: 4659

Answers (4)

vinod
vinod

Reputation: 1126

The better way is to create one common method in DataBaseHelper class

public void deleteTableF(String tablename) {

               String selectQuery = "DELETE FROM " + tablename;

               SQLiteDatabase db= this.getWritableDatabase();

               db.execSQL(selectQuery);
            }

And call deleteTableF method where you want to delete a particular table in your code.

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

Upvotes: 1

user10040619
user10040619

Reputation:

You could try this one

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

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

        // Other codes here
    }
});

Upvotes: 0

user8959091
user8959091

Reputation:

rawQuery is used for select statements to fetch rows. Use execSql instead or the delete method

Upvotes: 0

Belbahar Raouf
Belbahar Raouf

Reputation: 780

Try using this code to delete all rows in a table :

database.delete(tablename, null,null);

Upvotes: 1

Related Questions