Pessoal estou precisando de uma ajuda…
Na hora de testar meu método Remove, está dando nullPointerException…
O que está me deixando na dúvida, é que para pesquisar e imprimir o contato do meu banco, a pesquisa é feita pelo ID do contato, tudo ocorre perfeitamente, mais na hora de excluir ele da erro.
Vou colocar o código aqui do teste e do método remove
Teste
import java.sql.SQLException;
import java.util.List;
import java.util.Scanner;
import br.com.camilo.dao.ContatoDAO;
import br.com.camilo.jdbc.modelo.Contato;
public class TestaRemove {
public static void main(String[] args) throws SQLException {
String id;
int i = 0;
int idConvertido = 0;
boolean testaValor = true;
Scanner teclado = new Scanner(System.in);
while (testaValor) {
System.out.println("Entre com o Id do contato a ser removido: ");
id = teclado.nextLine();
try {
idConvertido = Integer.valueOf(id);
testaValor = false;
} catch (NumberFormatException e) {
testaValor = true;
System.out.println("Entre com um número inteiro!!\n");
}
}
ContatoDAO dao = new ContatoDAO();
List<Contato> contatos = dao.getLista();
if (idConvertido > contatos.size()) {
System.out.println("Id inexistente!");
} else {
for (Contato contato : contatos) {
i++;
if (idConvertido == i) {
dao.remove(contato);
System.out.println("Contato removido com sucesso!");
}
}
}
}
}
Metodo Remove
public void remove(Contato contato) throws SQLException {
PreparedStatement stmt = connection
.prepareStatement("delete from contatos where id=?");
stmt.setLong(1, contato.getId());
stmt.execute();
stmt.close();
}
Aguardo a ajuda e obrigado.