Olá, estou recebendo o erro no tratamento de uma conexão com MySql, código:
private void sqlConsultaCargos(String nome){
PreparedStatement stmt;
ResultSet rs;
Connection con;
try {
//conectando no banco de dados
con = ConnectionFactory.getConnection();
//criando a instrução SQL
String sql = "SELECT * FROM cargo WHERE nome like '%"+nome+"%'";
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
listasCargosModelo.clear();
while(rs.next()){
Cargos cargo = new Cargos();
cargo.setId(rs.getInt("id"));
cargo.setNome(rs.getString("nome"));
listasCargosModelo.addElement(cargo);
System.out.println("nome "+ cargo.getNome());
}
ConnectionFactory.closeConnection(con, stmt, rs);
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,"Ocorreu um erro ao consultar os cargos"+ ex);
}
}
erro:

Alguém poderia me dar uma sugestão de como resolver?
Mostra o código do método ConnectionFactory#closeConnection
public static void closeConnection(Connection con){
try{
if(con != null){
con.close();
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,“Erro” + ex);
}
}
public static void closeConnection(Connection con, PreparedStatement stmt){
closeConnection(con);
try{
if(stmt != null){
stmt.close();
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,“Erro” + ex);
}
}
public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs){
closeConnection(con, stmt);
try{
if(rs != null){
rs.close();
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,“Erro” + ex);
}
}
Mostra seu método getConnection()
E coloca pra imprimir o erro no console:
ex.printStackTrace()
Descobri o erro era que eu já havia aberto uma conexão em outra classe com mesmo nome de variável, mudei os nomes e tudo funciona sem erros. Obrigado pelas respostas!