2010-11-04 19 views
9

Deseo escribir una consulta para eliminar una fila de la tabla. Estoy confundido de escribir la declaración. Necesito ayuda para escribir esto. Estoy proporcionando mi requerimiento aquí con declaración SQL simple.Sqlite Suprimir sintaxis de consulta en Android

(Pseudo código)

delete from tablename where value =="string1" && value2 == "string2" && value3 == "string3"; 

quiero escribir esto en la sintaxis SQLite para android db.delete(tablename, whereclause, whereargs);.

Estaría agradecido por su ayuda.

Respuesta

15
String table_name = "myTable"; 
String where = "value1 = 'string1'" 
    + " AND value2 = 'string2'" 
    + " AND value3 = 'string3'"; 
String whereArgs = null; 
mDb.delete(table_name, where, whereArgs); 
+0

Gracias por la respuesta. Lo voy a usar. Tengo otra pregunta que si quiero proporcionar el número entero. ¿debo colocar directamente la variable entera directamente en la posición 'string2'? – Balakrishna

+0

Si "valor2" es un número entero, entonces puede escribir "valor2 = 1". Si "valor2" es TEXTO, entonces debes escribir "valor2 = '1'" – user479211

28

una mejor manera sería utilizar

String where = "value1 = ?" 
+ " AND value2 = ?" 
+ " AND value3 = ?"; 
String[] whereArgs = {string1,string2,string3}; 
2
mdb.delete("tablename",new String("value1=? and Value2=? and value3=?"),new String[]{value1,value2,value3}); 
1
SQLiteDatabase db = this.getWritableDatabase(); 
db.execSQL("DELETE FROM tablename WHERE value1='"+string1+"' AND value2='"+string2+"' AND value3='"+string3+"' "); //delete row in a table with the condition 
db.close();