(RESOLVIDO)Fazer consulta no banco de dados através de um item JComboBox

Fala galera, tudo beleza ?!
Já se faz algum tempo que parei de programar, e resolvi voltar hoje e mudar algumas coisas em um sistema que eu tenho aqui…
Vamos lá…
Eu queria saber uma maneira de selecionar um item no JComboBox, e clicar no botão que eu tenho “pesquisar” e me trazer informações do banco…
O item que eu seleciono no JComboBox, já é do banco de dados.

Simplificando agora o que eu quero fazer:
Quero fazer uma consulta, selecionando “data inicio”, “data fim” e “algum nome” da lista do JComboBox.
OBS: O sistema já faz a consulta apenas colocando a “data inicio” e “data fim”, quero dar uma enxugada nas informações que o banco vai me trazer…

Sei que estou no caminho certo, porém da um erro que eu coloquei pra qndo não encontrar nenhum registro.

Aqui vai um pedaço do meu código pra ficar mais visível sobre o que eu estou pretendendo…

private void pesquisarConsultas(){
    ConsultaControl cc = new ConsultaControl();
    if (jdcDataInicio.getDate() == null){
        JOptionPane.showMessageDialog(this, "Informe a data Inicial!");
        jdcDataInicio.requestFocus();
    } else if (jdcDataFim.getDate() == null){
        JOptionPane.showMessageDialog(this, "Informe a data Final!");
        jdcDataFim.requestFocus();
    }else {
        while (tmConsultas.getRowCount() > 0){
            tmConsultas.removeRow(0);
        }
        SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
        DateFormat form = new SimpleDateFormat("dd/MM/yyyy");
        
        java.util.Date dataInicio = (java.util.Date) jdcDataInicio.getDate();
      //System.out.println(formato.format(dataInicio));
        
        java.util.Date dataFim = (java.util.Date) jdcDataFim.getDate();
        agendas = cc.listarAgenda(Date.valueOf(formato.format(dataInicio)), Date.valueOf(formato.format(dataFim)));
        String [] campos = new String[] {null, null, null, null, null, null, null, null};
        for (int i = 0; i < agendas.size(); i++){
            tmConsultas.addRow(campos);
            tmConsultas.setValueAt(agendas.get(i).getCodigo(), i, 0);
            tmConsultas.setValueAt(agendas.get(i).getNome_medico(), i, 1);
            tmConsultas.setValueAt(agendas.get(i).getNome_paciente(), i, 2);
            tmConsultas.setValueAt(agendas.get(i).getTelefone(), i, 3);
            tmConsultas.setValueAt(agendas.get(i).getFicha(), i, 4);
            tmConsultas.setValueAt(form.format(agendas.get(i).getDataConsulta()), i, 5);
            tmConsultas.setValueAt(agendas.get(i).getHorario(), i, 6);
            tmConsultas.setValueAt(agendas.get(i).getPresenca(), i, 7);
            
        }
        if (agendas.size() == 0){
            JOptionPane.showMessageDialog(this, "Nenhum registro encontrado!");
        }
    }
}

O erro que dá, é esse por ultimo, “Nenhum registro encontrado”…
Se alguém puder me ajudar, fico muito agradecido. Agradeço de já.

o que você quer é pesquisar um determinado registro compondo na busca datainicial, datafinal e o nome que vem de um JcomboBox, é isso ? se quiser pegar o valor seleionado em um JcomboBox ,
pode fazer assim,

String x = JComboBox.getSelectedItem().toString();
ou
String x = (String)JComboBox.getSelectedItem();

depois junta tudo em sua instrucão SQL e manda fazer a busca, é isso que você quer fazer ?

Isso mesmo. Porem fiz aqui, mas não está retornando nenhum registro, e tbem não gera nenhum erro, estranho…

De uma olhada aqui…
Minha string que realiza a consulta no banco:

 `String consultaAgenda = "SELECT c.ID_CONSULTA, m.NOME_MEDICO, c.NOME_PACIENTE, c.TELEFONE, c.FICHA, c.DATA_CONSULTA, c.HORARIO, c.PRESENCA "
                     + "FROM CONSULTA c "
                     + "INNER JOIN MEDICO m ON m.ID_MEDICO = c.ID_MEDICOFK "
                     + "WHERE m.ID_MEDICO LIKE ? AND c.DATA_CONSULTA BETWEEN ? AND ? "
                     + "ORDER BY c.HORARIO";`

Deu certo aqui, o código já estava certo, a pesquisa no banco de dados que estava errada.

Ao invés de ser assim:

SELECT c.ID_CONSULTA, m.NOME_MEDICO, c.NOME_PACIENTE, c.TELEFONE, c.FICHA, c.DATA_CONSULTA, c.HORARIO, c.PRESENCA "
                     + "FROM CONSULTA c "
                     + "INNER JOIN MEDICO m ON m.ID_MEDICO = c.ID_MEDICOFK "
                     + "WHERE m.ID_MEDICO LIKE ? AND c.DATA_CONSULTA BETWEEN ? AND ? "
                     + "ORDER BY c.HORARIO;

É assim:

SELECT c.ID_CONSULTA, m.NOME_MEDICO, c.NOME_PACIENTE, c.TELEFONE, c.FICHA, c.DATA_CONSULTA, c.HORARIO, c.PRESENCA "
                     + "FROM CONSULTA c "
                     + "INNER JOIN MEDICO m ON m.ID_MEDICO = c.ID_MEDICOFK "
                     + "WHERE c.DATA_CONSULTA BETWEEN ? AND ? AND m.ID_MEDICO LIKE ? "
                     + "ORDER BY c.HORARIO; 

Pois na minha chamada, as datas vem primeiro, e quem estava vindo primeiro, era o nome. De qualquer forma, obrigado.