Eu so crio uma classe que extends SQLiteOpenHelper onde faço tudo que preciso no banco de dados
Em 25 de maio de 2012 09:40, Felipe Aron <felipearon@gmail.com> escreveu:
Eu faço o seguinte:- Tenho a classe SQLiteHelper que herda de SQLiteOpenHelper()- Tenho a classe Database que herda da minha classe SQLiteHelper. <<- Aqui eu crio um array de String[] contendo toda a estrutura do meu banco de dados. Preferi assim pra deixar centrado a informação do Db. Essa classe quem controla a criação e atualização do meu DB.- Minha classe DAO herdo da minha classe Database, pra dai sim poder fazer a manipulação das informações.Em 24 de maio de 2012 20:59, Benicio <benicio.heladio@gmail.com> escreveu:
Boa noite car*s!
* Cinenário:
- Para cada tabela do banco existe uma DAO ela é responsável por criar
a tabela (onCreate) no banco e retornar os dados desta tabela.
Ex:
- PessoaDAO
- ClienteDAO
- FuncionarioDAO
- PessoaClienteDAO -----> relacionamento entre Pessoa e Cliente
Hoje me deparei com o seguinte problema:
- Na PessoaDao Fiz uma consulta utilizando um JOIN para a tabela
PESSOACLIENTE.. Ao executar a consulta foi me retornado um exception
informando
que a tabela não existia;
- Descobri que este erro ocorria pq as tabelas estavam sendo criadas
em arquivos diferentes ( ao chamar a super (SQLiteOpenHelper) eu
passava o nome da tabela para cada
DAO). Então alterei para que todas as tabelas passassem como
parâmetro o nome do banco ao invés do nome da tabela (conforme
abaixo):
public RotaVendedorDao(Activity activity) {
super(activity, BANCO, null, VERSAO);
// TODO Auto-generated constructor stub
}
Porém esta alteração fez com que apenas a primeira classe DAO
instanciada na aplicação tivess o método onCreate executado e as
outras DAO não.
Encontrei a solução abaixo para este problema, mas gostaria de saber
se alguém conhece alguma outra alternativa.
- Ter uma unica classe com o método onCreate onde este método cria
todas as tabelas do banco e as DAO apenas fazem a manipulação dos
dados ?
Qualquer informação é bem vinda.
Desde já muito obrigado pela atenção!
--Analista-Programador
- Marcelo Henrique -
"Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)






0 comentários:
Postar um comentário