cómo eliminar la fila con where cláusula?

Quiero borrar la fila, pero cuando escribo la consulta en deleteContact () y ejecuto, no pasa nada con mi database. Ayuda deples

este es mi código:

public class ContactDatabase extends SQLiteOpenHelper { SQLiteDatabase db; public static final String DATABASE_NAME="totalContact.db"; public static final String TABLE_NAME="mecontact"; public static final String NAME="name"; public static final String PHONE="phone"; public ContactDatabase(Context context) { super(context, DATABASE_NAME, null, 1); } @Override public void onCreate(SQLiteDatabase db) { try { db.execSQL("create table mecontact" + "(_id integer primary key autoincrement, name text, phone text)"); }catch(android.database.SQLException e){ System.out.println("table create nhi ho rha"); } } public void deleteContact(String d,int pos){ db=this.getWritableDatabase(); db.delete(TABLE_NAME, "name='" + d + "'"+" AND _id="+(pos), null); db.close(); } } 

Solo necesita el ID de la fila de la tabla para eliminar.

 public void deleteContact(int pos){ db = this.getWritableDatabase(); db.delete(TABLE_NAME, ID_KEY + "= ?", new String[] {String.valueOf(pos) }); db.close(); } 

Puede hacer su código más limpio como:

 public int deleteContact(int id) { db = this.getWritableDatabase(); return db.delete(TABLE_NAME, "_id = ?", new String[]{String.valueOf(id)}); } public void closeDB() { db = this.getReadableDatabase(); if (db != null && db.isOpen()) db.close(); }