2012-01-03 19 views

Respuesta

37

Usted puede simplemente utilizar consultas SQL para borrar.

public void delete(String id) { 
     db.execSQL("delete from "+TBL_NAME+" where Google='"+id+"'"); 
    } 

En la consulta está de paso nulo en lugar de whereArgs

db.delete(table, whereClause, whereArgs) 

Debe ser así

db.delete(TBL_NAME, "Google=?", new String[]{Integer.toString(id)}); 
+1

+1 de acuerdo con poner 'whereClause' como Google ** = ** –

2
database.delete("tablename", "column_name=?", new String[] {Integer.toString(id)}); 
  • la condición donde los valores se debe administrar como una matriz de cadenas
6

Prueba este

public boolean favoriteDelete(int id) { 
    return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + id, null) > 0; 
} 
+2

¿Puedo saber cuál es la diferencia en su respuesta y la pregunta del usuario? –

0

añadir comillas simples en su cláusula Where ...

return database.delete("FavoriteData", "Goggle" + "='" + id+"'", null) > 0; 
0

Es mejor utilizar marcadores de posición que la manipulación de cadenas. Ok para int, pero tan pronto como pongas una cadena, las cosas saldrán mal.

String where = COLUMN_NAME_ADDRESS + " = ?"; 
    String[] whereArgs = { String.valueOf(address) }; 

    SQLiteDatabase db = mDbHelper.getWritableDatabase(); 
    db.delete(TABLE_NAME_DEVICES, where, whereArgs); 
Cuestiones relacionadas