sql >> Base de Datos >  >> RDS >> SQLite

Error de Android SQLite:el número de variable debe estar entre? 1 y? 999

Esta línea:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + "=?" + userModel.consumer_no, null);

Es incorrecto.
Tienes 2 opciones.
El primero es concatenar el valor pasado a LoginTable.Cols.CONSUMER_ID así:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = '" + userModel.consumer_no + "'", null);

si userModel.consumer_no es una cadena, o:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = " + userModel.consumer_no, null);

si userModel.consumer_no es un valor entero.
La segunda opción es mejor y más segura:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = ?", new String[] { String.valueOf(userModel.consumer_no) });

Puede omitir String.valueOf() si userModel.consumer_no es una cadena.

El error en su código es que mezcló de alguna manera las 2 formas anteriores de pasar el argumento userModel.consumer_no a la update() método.