Erro ao pesquisar médicos na tabela de médicos

Boa noite.
Estou tentando pesquisar médicos na tabela de médicos, tenho 4 médicos cadastrados consigo pesquisar 3 deles, mais tem o médico Moises que apresenta este erro:

Segue o código

public BeansMedico buscaMedico(BeansMedico mod){
        conex.conexao();
        conex.executaSql("Select cod_medico, nome_medico, rg_medico, cpf_medico, crm_medico, nome_especialidade, sexo_medico, status_medico, rua_medico, num_end_med, complemento_medico, nome_bairro, nome_cidade, tel_medico, cel_medico, email_medico from medicos inner join especialidades on especialidades.cod_especialidade = medicos.cod_medico inner join bairros on bairros.cod_bairro = medicos.cod_medico inner join cidades on cidades.cod_cidade = medicos.cod_medico where nome_medico like'%"+mod.getPesquisa()+"%'");
        try {
            conex.rs.next();
            mod.setCodigo(conex.rs.getInt("cod_medico"));
            mod.setNomeMed(conex.rs.getString("nome_medico"));
            mod.setRg(conex.rs.getString("rg_medico"));
            mod.setCpf(conex.rs.getString("cpf_medico"));
            mod.setCrm(conex.rs.getString("crm_medico"));
            mod.setNomeEspecialidade(conex.rs.getString("nome_especialidade"));
            mod.setSexo(conex.rs.getString("sexo_medico"));
            mod.setStatus(conex.rs.getString("status_medico"));
            mod.setRua(conex.rs.getString("rua_medico"));
            mod.setNumEnd(conex.rs.getString("num_end_med"));
            mod.setComplemento(conex.rs.getString("complemento_medico"));
            mod.setNomeBairro(conex.rs.getString("nome_bairro"));
            mod.setNomeCidade(conex.rs.getString("nome_cidade"));
            mod.setTel(conex.rs.getString("tel_medico"));
            mod.setCel(conex.rs.getString("cel_medico"));
            mod.setEmail(conex.rs.getString("email_medico"));
            conex.rs.close();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao Pesquisar Medico ou Medico não localizado:/nErro"+ex);
        }
        
        conex.desconecta();
        return mod;
    }

e tambem notei que na pesquisar ele nao esta puxando o bairro e cidade correspodente do medico, esta puxando errado.

O next() retorna verdadeiro se houver registro ou falso quando não há.
Normalmente você usa ele dentro de um while.

ResultSet rs = conex.rs;
while(rs.next()){
 //código restante
}

Obrigado, assim que chegar em casa, vou fazer esta alteração:+1:

Fiz o procedimento colocado o while e o next no codigo mais continua apresentando este erro:

Segue o codigo como ficou:

public BeansMedico buscaMedico(BeansMedico mod){
conex.conexao();
conex.executaSql(“Select cod_medico, nome_medico, rg_medico, cpf_medico, crm_medico, nome_especialidade, sexo_medico, status_medico, "
+ “rua_medico, num_end_med, complemento_medico, nome_bairro, nome_cidade, tel_medico, cel_medico,”
+ " email_medico from medicos inner join especialidades on especialidades.cod_especialidade = medicos.esp_medcod inner join bairros on bairros.cod_bairro = medicos.bai_medcod inner join cidades on cidades.cod_cidade = medicos.cid_medcod where nome_medico like’%”+mod.getPesquisa()+"%’");
try {
while(conex.rs.next()){
mod.setCodigo(conex.rs.getInt(“cod_medico”));
mod.setNomeMed(conex.rs.getString(“nome_medico”));
mod.setRg(conex.rs.getString(“rg_medico”));
mod.setCpf(conex.rs.getString(“cpf_medico”));
mod.setCrm(conex.rs.getString(“crm_medico”));
mod.setNomeEspecialidade(conex.rs.getString(“nome_especialidade”));
mod.setSexo(conex.rs.getString(“sexo_medico”));
mod.setStatus(conex.rs.getString(“status_medico”));
mod.setRua(conex.rs.getString(“rua_medico”));
mod.setNumEnd(conex.rs.getString(“num_end_med”));
mod.setComplemento(conex.rs.getString(“complemento_medico”));
mod.setNomeBairro(conex.rs.getString(“nome_bairro”));
mod.setNomeCidade(conex.rs.getString(“nome_cidade”));
mod.setTel(conex.rs.getString(“tel_medico”));
mod.setCel(conex.rs.getString(“cel_medico”));
mod.setEmail(conex.rs.getString(“email_medico”));
conex.rs.close();
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, “Erro ao Pesquisar Medico ou Medico não localizado:/nErro”+ex);
}

    conex.desconecta();
    return mod;
}

Se não me engano, a função “executeQuery” retorna um “ResultSet”, vc esta armazenando ele em memoria na classe de conexão ?

Tem que verificar também se na classe de conexão se vc está fechando o resultSet.