Saltar para conteúdo


Foto
- - - - -

problema em update de tabelas

sqlite

  • Por favor inicie sessão para responder
2 respostas a este tópico

#1 chiapa

chiapa

    Novato

  • Membros
  • Pip
  • 2 mensagens

Mensagem publicada 18 May 2013 - 17:18

Boas,

 

estou a fazer um pequena app que armazena locais de interesse e as respectivas categorias (tipo farmácia, museu, restaurante, etc).

 

Acontece que consigo inserir e apagar categorias na boa mas o update não estou a conseguir por algum erro que não estou a detectar. Alguém me podia ajudar? Creio que tem a ver com a passagem de parâmetros entre actividades, ainda não percebo bem isso.

 

Aí vai o meu projecto anexado, se alguém puder ajudar, agradecia bastante.

 

https://dl.dropboxus.../Chiapa_App.rar


Editado por chiapa, 18 May 2013 - 17:20.


#2 nosf

nosf

    Novato

  • Membros
  • Pip
  • 2 mensagens
  • Samsung Galaxy S

Mensagem publicada 06 June 2013 - 16:05

Olá.

 

Apesar de já ter passado algum tempo desde que criaste o tópico, aqui ficam algumas sugestões.

 

Quando mandas pelo intent o _id do registo que vais atualizar, não precisas normalmente de enviar mais nada.

Visto que podes ir buscar o "nome" da categoria através da query ao registo para obteres os dados actuais.

 

Não cries activities que fazem teoricamente o mesmo.

Criar um registo e editá-lo, podem usar a mesma activity e o mesmo layout.

O que podes usar para separar "as águas" é enviares o ID do registo ou não.

Se há ID, é UPDATE, e se não há, é INSERT.

 

Relativamente à tua dúvida, tenta fazer a query via o db.rawQuery() para ter certificares que funciona.

Outra coisa, 2 métodos diferentes para fazer update? As boas práticas para trabalhar com registo, dizem precisamente para se referir ao registo sempre pelo _id, que tem como principal função diferenciar registos.

 

Atentamente.



#3 chiapa

chiapa

    Novato

  • Membros
  • Pip
  • 2 mensagens

Mensagem publicada 06 June 2013 - 18:07

Olá.

 

Apesar de já ter passado algum tempo desde que criaste o tópico, aqui ficam algumas sugestões.

 

Quando mandas pelo intent o _id do registo que vais atualizar, não precisas normalmente de enviar mais nada.

Visto que podes ir buscar o "nome" da categoria através da query ao registo para obteres os dados actuais.

 

Não cries activities que fazem teoricamente o mesmo.

Criar um registo e editá-lo, podem usar a mesma activity e o mesmo layout.

O que podes usar para separar "as águas" é enviares o ID do registo ou não.

Se há ID, é UPDATE, e se não há, é INSERT.

 

Relativamente à tua dúvida, tenta fazer a query via o db.rawQuery() para ter certificares que funciona.

Outra coisa, 2 métodos diferentes para fazer update? As boas práticas para trabalhar com registo, dizem precisamente para se referir ao registo sempre pelo _id, que tem como principal função diferenciar registos.

 

Atentamente.

 

 

Boas,

 

obrigado pelas dicas. Os 2 métodos diferentes para fazer update eram já uma tentativa desesperada de conseguir algo. Entretanto, já consegui resolver o meu problema. Faltava-me fazer um startActivity() lá algures. Quanto aos layouts também tens razão, mas isto é um projecto académico e só estou a seguir requisitos.

 

Obrigado pelo tempo perdido e trabalho a responder

Chiapa







Também marcado com uma ou mais destas tags: sqlite