Estou com problemas para vizualizar os campos da tabela no console.
Tenho tres chaves primarias...que essas aparecem de boa...mas os demais atributos não estão aparecendo.
Alguem poderia me ajudar? Eles me retornam um valo NULL.
Este é o Main:
publicstaticvoidmain(String[]args){TurnoVOturnoVO=newTurnoVO();//PRIMARY KEYsturnoVO.setEmpresa(1);turnoVO.setFilial(300);turnoVO.setCodigo(4);TurnoDAOturnoDAO=newTurnoDAO();try{turnoDAO.selecionar(turnoVO);}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("Selecionado com sucesso!!");System.out.println("Empresa:"+turnoVO.getEmpresa());System.out.println("Filial:"+turnoVO.getFilial());System.out.println("Codigo do Turno:"+turnoVO.getCodigo());System.out.println("Descricao do Turno:"+turnoVO.getDescricao());System.out.println("Horario de Entrada:"+turnoVO.getHoraEntrada());System.out.println("Horario de Saida:"+turnoVO.getHoraSaida());}
Deveria retornar os valores dos demais campos não é? Mas só retorna NULL nos campos que não são PRIMAY KEY.
Obrigado.
T
thingol
Amigo, não use SELECT * em queries - explicite todos os campos que você espera obter.
É que se você fizer isso, é mais fácil descobrir se houve algum problema do tipo “eu usei uma string de conexão e estava apontando para uma base errada, onde as tabelas têm o mesmo nome mas não os mesmos campos” ou “eu sou descuidado e escrevi errado os nomes dos campos” ou “o FDP do DBA mudou os nomes das colunas e não me avisou”.
Eu sei que dá trabalho, mas é melhor você descobrir o problema que deixar ele acontecer silenciosamente.
PadrE
Uma dica eh colocar um
System.out.println(stringBuffer.toString())
antes do execute, assim vc pode pegar esse SELECT, ir no banco e fazer o mesmo… ai vai ver se tem informação na tabela ou não.
B
Bruno_Laturner
Já que o seleciona retorna um turnoVO, que tal fazer um:
turnoVO=turnoDAO.selecionar(turnoVO);
Só tome cuidado que ele tb retorna um null caso não encontrar nada na base, e sem tratamento isso pode levar à um NPE.