Necesito actualizar un valor en una columna de una determinada tabla. He intentado esto:Cambiar un valor en una columna en sqlite
public void updateOneColumn(String TABLE_NAME, String Column, String rowId, String ColumnName, String newValue){
String sql = "UPDATE "+TABLE_NAME +" SET " + ColumnName+ " = "+newValue+" WHERE "+Column+ " = "+rowId;
db.beginTransaction();
SQLiteStatement stmt = db.compileStatement(sql);
try{
stmt.execute();
db.setTransactionSuccessful();
}finally{
db.endTransaction();
}
}
y yo llamo a este método como este:
db.updateOneColumn("roadmap", "id_roadmap",id,"sys_roadmap_status_mobile_id", "1");
lo que significa que quiero establecer el valor 1
en la columna sys_roadmap_status_mobile_id
cuando id_roadmap = id.
El problema es que no pasa nada. ¿Dónde está mi error?
En primer lugar, por favor leer sobre Ataques de inyección SQL –
Y, ¿qué tipo de datos son sus columnas? Si son tipos de caracteres, probablemente quieras citar tus cadenas. Tampoco ha proporcionado el valor que contiene 'id' ni ningún dato de muestra ... –