¿Cómo actualizar los datos en Sqlite?

En mi aplicación de Android estoy usando la base de datos sqlite. Uso el siguiente código para actualizar datos pero los datos no se actualizan.

public int setCurrentLevel(int level)
{
  //update table level set currentlevel = level;
  int slevel = level;
  Log.d("QUIZ APP", "inside on setcreatelevel is "+slevel);
  ContentValues args = new ContentValues();
  args.put("currentlevel", slevel);

  return db.update("level", args, "currentlevel" + ">=" + slevel, null);
}
0
Use ContentValues ​​ para la actualización. Eche un vistazo a este blog y use su aplicación de ejemplo
agregado el autor Praveenkumar, fuente
public int setCurrentLevel (int level) {// actualiza el nivel de tabla establecido currentlevel = level; int slevel = nivel; Log.d ("QUIZ APP", "dentro de setcreatelevel es" + slevel); ContentValues ​​args = new ContentValues ​​(); args.put ("nivel actual", slevel); return db.update ("nivel", args, "nivel actual" + "> =" + slevel, nulo)> 0; }
agregado el autor Androiduser, fuente
ya tabla tiene valor predeterminado
agregado el autor machu, fuente
En log, devuelve el valor de slevel. La base de datos permanece igual que el valor predeterminado.
agregado el autor machu, fuente
¿la tabla tiene un valor predeterminado? necesita tener al menos un valor único donde el currentlevel> = slevel .
agregado el autor Pallavi, fuente
¿Qué devuelve?
agregado el autor Pallavi, fuente
en realidad debería devolver el número de filas actualizadas y no el valor de slevel. Por favor, compruebe el valor de retorno.
agregado el autor Pallavi, fuente
por favor, publique la clase de adaptador db también
agregado el autor Rakshi, fuente

5 Respuestas

Aqui tienes

db.update("level",args,"currentlevel>= ?", new String[] { String.valueOf(level) });
2
agregado

Use este tipo de código dentro de su función

public boolean updateTitle(long rowId, String isbn,
String title, String publisher)
{
ContentValues args = new ContentValues();
args.put(KEY_ISBN, isbn);
args.put(KEY_TITLE, title);
args.put(KEY_PUBLISHER, publisher);
return db.update(DATABASE_TABLE, args,
KEY_ROWID + "=" + rowId, null) > 0;
}
0
agregado
He creado la herramienta sqlite manager de tabla, ¿será un problema?
agregado el autor machu, fuente

Prueba esto

    public int setCurrentLevel(int level)
   {
            //update table level set currentlevel = level;
            int slevel = level;
            Log.d("QUIZ APP", "inside on setcreatelevel is "+slevel);
            ContentValues args = new ContentValues();
            args.put("currentlevel", slevel);
             return db.update("level", args, 
                 "currentlevel" + ">=" + slevel, null)>0;

      }
0
agregado
Aún datos no actualizados
agregado el autor machu, fuente

use esta consulta ......... también mencione alguna condición sobre la cual desea activar esta actualización

      db.execSQL("UPDATE "+tableName+" SET "+columnNameValue+" WHERE "+condition+"");

su consulta se verá algo así como:

    db.execSQL("UPDATE level SET currentlevel="+slevel +" WHERE currentlevel \\>=" + slevel+"");
0
agregado

Prueba esto,

ContentValues cv = new ContentValues();
cv.put("Field", value);
db.update("Table", cv, "Field='value'", null);
0
agregado