Saltar para conteúdo


Foto
- - - - -

Problemas com Update


  • Por favor inicie sessão para responder
1 resposta a este tópico

#1 Edukills

Edukills

    Novato

  • Membros
  • Pip
  • 1 mensagens

Mensagem publicada 04 February 2015 - 20:14

Galera, meu update está dessa forma no arquivo DAO.

 

public void atualizar(BrazucaTime brazuca)
{


ContentValues values = new ContentValues();
values.put("nomeFut", brazuca.getNomeFut());
values.put("local", brazuca.getLocal());
values.put("responsavel", brazuca.getResponsavel());
values.put("email", brazuca.getEmail());
values.put("qtdJogador", brazuca.getQtdJog());
values.put("valor", brazuca.getValor());


SQLiteDatabase db = dbHelper.getWritableDatabase();


db.update("futebol", values, "_id = ?", new String[]{String.valueOf(brazuca.getId().toString())});


db.close();


}
 
E na activity para editar tenho esse trecho:
 
try{


campNome.setText(brazucaTime.getNomeFut());
campNome.setEnabled(false);
campLocal.setText(brazucaTime.getLocal());
campRespon.setText(brazucaTime.getResponsavel());
campEmail.setText(brazucaTime.getEmail());
quantidade = brazucaTime.getQtdJog();
campQtdJog.setText(String.valueOf(quantidade));
campValor.setText(brazucaTime.getValor());


Toast.makeText(getApplicationContext(), "Dados carregados com sucesso!", Toast.LENGTH_LONG).show();
}catch (Exception e)
{
String erro = e.getMessage(); Toast.makeText(getApplicationContext(), erro, Toast.LENGTH_LONG).show();
}


btNSalvar.setOnClickListener(new View.OnClickListener()
{


@Override
public void onClick(View v) 
{
try
{
if (campNome.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Favor preencher o campo Nome do BrazucaFut.", Toast.LENGTH_LONG).show();
return;
}
if(campLocal.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Favor preencher o campo local.", Toast.LENGTH_LONG).show();
return;
}
if(campRespon.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Favor preencher o campo responsável.", Toast.LENGTH_LONG).show();
return;
}
if(campValor.getText().toString().equals(""))
{
Toast.makeText(getApplicationContext(), "Favor preencher o campo valor da quadra.", Toast.LENGTH_LONG).show();
return;
}
brazucaTime.setNomeFut(campNome.getText().toString());
brazucaTime.setLocal(campLocal.getText().toString());
brazucaTime.setResponsavel(campRespon.getText().toString());
brazucaTime.setEmail(campEmail.getText().toString());
brazucaTime.setQtdJog(Integer.parseInt(campQtdJog.getText().toString()));
brazucaTime.setValor(campValor.getText().toString());


BrazucaTimeDAO dao = new BrazucaTimeDAO(getApplicationContext());


dao.atualizar(brazucaTime);


Toast.makeText(getApplicationContext(), "BrazucaTime editado com sucesso!", Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
String erro = e.getMessage(); Toast.makeText(getApplicationContext(), erro, Toast.LENGTH_LONG).show();
}
startActivity(new Intent(getApplicationContext(), ListarDados.class));
}
});

Ele está rodando normalmente e não da erro, porem ele não atualiza os dados.

 



#2 xanex

xanex

    Membro

  • Membros
  • PipPip
  • 199 mensagens
  • LocalizaçãoLisboa
  • Nexus 10, Nexus 5x, Nexus 6p

Mensagem publicada 17 February 2015 - 15:10

quando fazes update, tens de saber o id para ele fazer um replace atraves do identificador id

 

provavelmente quando crias deves ter um id incremental, para teres uma referencia tens de guardar sempre o id para depois voltares e fazer o update

 

caso não tenhas maneira de ter o id, em vez de utilizares um incremental, deves criar tu o id de uma maneira constante para depois chegares ao id antes de fazeres o update