Como atualizar dados no Sqlite?

Na minha aplicação android eu estou usando o banco de dados sqlite. Eu uso o seguinte código para atualizar dados, mas os dados não são atualizados.

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
adicionado editado
Visualizações: 1
Use ContentValues ​​ para atualização. Dê uma olhada neste blog e use o aplicativo de exemplo
adicionado o autor Praveenkumar, fonte
public int setCurrentLevel (nível int) {// atualiza o nível da tabela set currentlevel = level; int slevel = level; Log.d ("QUIZ APP", "dentro de setcreatelevel é" + slevel); ContentValues ​​args = new ContentValues ​​(); args.put ("currentlevel", slevel); return db.update ("nível", args, "currentlevel" + "> =" + slevel, nulo)> 0; }
adicionado o autor Androiduser, fonte
ya tabela tem valor padrão
adicionado o autor machu, fonte
No log, retorna o valor do slevel. Banco de dados permanece o mesmo que o valor padrão.
adicionado o autor machu, fonte
a tabela tem um valor padrão? ele precisa ter pelo menos um valor único em que o currentlevel> = slevel .
adicionado o autor Pallavi, fonte
o que isso retorna?
adicionado o autor Pallavi, fonte
Na verdade, ele deve retornar o número de linhas atualizadas e não o valor do nível secundário. Por favor, verifique o valor de retorno.
adicionado o autor Pallavi, fonte
por favor postar a classe de adaptador db também
adicionado o autor Rakshi, fonte

5 Respostas

Aqui está

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

Use este tipo de código dentro da sua função

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
adicionado
Eu criei a tabela ferramenta gerenciador de sqlite, será um problema.
adicionado o autor machu, fonte

Tente isto

    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
adicionado
Ainda dados não são atualizados ..
adicionado o autor machu, fonte

use esta consulta ......... também mencione alguma condição na qual você deseja disparar esta atualização

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

sua consulta será algo como:

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

Tente isso

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