10

Puede eliminar con resolución de contenido por URI o pasando algunos parámetros al parámetro where.¿Cómo se recomienda utilizar el método de eliminación de contentResolver para que sea seguro para las inyecciones?

¿Cómo se hacen los parámetros para que la inyección SQL sea segura?
¿Es posible utilizar declaraciones preparadas con ContentResolver?

act.getContentResolver().delete(myuriwithid,null,null); 

act.getContentResolver().delete(mybaseuri," name = '"+this.name"'",null); 

Respuesta

16

Utilice los parámetros posicionales.

public final int delete (Uri url, String where, String[] selectionArgs) 

e.g.

ContentResolver cr = ...; 
String where = "nameid=?"; 
String[] args = new String[] { "george" }; 
cr.delete(Stuff.CONTENT_URI, where, args); 
+1

¿Es segura esta inyección de SQL? – Pentium10

+0

No lo sé. Si no confía en él, puede usar SQLiteDatabase.execSQL ("eliminar ...") y endurecer la consulta usted mismo. –

+0

Según mis pruebas, * parece * ser seguro para la inyección de SQL, pero no puedo verlo documentado en ninguna parte. – cprcrack

Cuestiones relacionadas