[Resolvido]Como eu faço o metodo main Testar para eu poder testa meu método alterar?
17 respostas
X
xandi_m5
Gente eu estou estudando por uma apostila nela só explica como fazer o método de alterar e não explica como eu faço para testa o método. Podem mi ajudar??
O método é o seguinte:
publicvoidaltera(Contatocontato){Stringsql="update contatos set nome=?, email=?, endereco=?, dataNascimento=? where id=?";try{PreparedStatementstmt=(PreparedStatement)connection.prepareStatement(sql);stmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,newDate(contato.getDataNascimento().getTimeInMillis()));stmt.setLong(5,contato.getId());stmt.execute();stmt.close();}catch(SQLExceptione){System.out.println("erro ao alterar");thrownewRuntimeException(e);}}
Eu vi uns exemplos na net de como fazer o método main testar (mais não deu certo)... E ele fico assim:
publicstaticvoidmain(String[]args){Contatocontato=newContato();contato.setId(1);ContatoDAOdao=newContatoDAO();if(dao.altera(contato)==1){System.out.print("Contato alterado com sucesso!");}else{System.out.print("Ocorreu um erro na alteraçao do contato");}}
Desse metodo que eu vi na net eu entendi que ira altera a linha que tem ID 1 (estou certo ??) Mais tambem tem que colocar os novos valores para alterar né?? (Mais não sei onde...)
Deste já obrigado!!
Segundo, uma query retorna um int, por que não retorna este int e verifica se está de acordo ou não?
robson_costa
sim, basta que vc crie um metodo para consultar, dai no main vc altera um Contato depois consulta esse Contato e verifica se o mesmo foi alterado corretamente.
if (dao.altera(contato)){
System.out.print("Contato alterado com sucesso!");
}else{
System.out.print("Ocorreu um erro na alteraçao do contato");
}
X
xandi_m5
Primeiro peço desculpas, por não fazer meu tópico no padrão. Fiz minha conta gora não deu tempo( e não posso ler agora) de ler nada sobre o fórum.(Assim que eu chegar em casa em edito ele pode ser no padrão??)
Meu método agora está assim:
publicintaltera(Contatocontato){Stringsql="update contatos set nome=?, email=?, endereco=?, dataNascimento? where id=?";try{PreparedStatementstmt=(PreparedStatement)connection.prepareStatement(sql);stmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,newDate(contato.getDataNascimento().getTimeInMillis()));stmt.setLong(5,contato.getId());stmt.execute();stmt.close();return1;}catch(SQLExceptione){System.out.println("erro ao alterar");thrownewRuntimeException(e);}}
Mais quando executo ele da um NullPointerException.
mauricioadl
coloca igual eu fiz pra vc. se nao der certo mesmo assim, coloque a exception ae pra nois ve
X
xandi_m5
Mauricioadl
Eu fiz do seu jeito mais da um NullPointerException na linha 16 ( no if ).
Exception in thread “main” java.lang.NullPointerException
at br.com.caelum.jdbc.TestaAlterar.main(TestaAlterar.java:16)
mauricioadl
coloca todo o metodo main pra mim ver.
sgaothaich
O objeto contato que tu estás passando para o método alterar deve estar nulo. Poste teu main…
X
xandi_m5
O meu MAIN está a mesma coisa... do que postei antes....
publicstaticvoidmain(String[]args){Contatocontato=newContato();contato.setId(1);ContatoDAOdao=newContatoDAO();if(dao.altera(contato)==1){System.out.print("Contato alterado com sucesso!");}else{System.out.print("Ocorreu um erro na alteraçao do contato");}}
sgaothaich
Tu tens que setar os outros parâmetros do objeto contato(nome, email, etc…), se não os getters dentro do método altera vão retornar nulo.
X
xandi_m5
Tipo assim???
publicclassTestaAlterar{publicstaticvoidmain(String[]args){Contatocontato=newContato();contato.setId(1);contato.setNome("Alexnadre");contato.setEmail("[email removido]");contato.setEndereco("Rua:***************");ContatoDAOdao=newContatoDAO();if(dao.altera(contato)){System.out.print("Contato alterado com sucesso!");}else{System.out.print("Ocorreu um erro na alteraçao do contato");}}}
sgaothaich
Isso, a dataNascimento também. Teste aí e veja se funciona!
X
xandi_m5
Deu certo
VLW!!!
Agora vou tentar no meu formulário (JFrame).
X
xandi_m5
Qualquer coisa eu retorno… rsrs
M
MatheusFalcade
coloque os codigos entre a tag “[code ]” por favor, assim fica ruim de ler