Pessoal, pesquisei muito e não achei nada que eu conseguir entender.
Estou fazendo uma Query com uma SubQuery e gostaria de pegar o resultado disso e preencher um ComboBox.
No código abaixo eu consegui preencher o ComboBox porém ele não foi preenchido com o resultado da query e quando eu testo essa mesma query no banco ela funciona, por isso eu acho que deve ser alguma coisa no Java e eu suspeito que seja no resultSet.
Segue o código:
public void popularComboxInicio () throws Exception
{
final String SQL = "(SELECT horario.horarioInicio FROM horario WHERE NOT EXISTS(SELECT agenda_reuniao.horaInicio FROM agenda_reuniao "
+ "WHERE agenda_reuniao.sala = ? AND agenda_reuniao.dataMesAno = ? AND horario.horarioInicio BETWEEN agenda_reuniao.horaInicio AND agenda_reuniao.horaFinal))";
try
{
//FAZER ALGORITMO QUE VERIFICA SE EXISTE UM CONTATO SELECIONADO
Reuniao reuniao = null;
reuniao = new Reuniao();
//1ª - Abrir a conexao
ConexaoMySQL.abrir();
//PreparedStatment - Classe responsável por aplicar valores na SQL (trocar ?
//por valor) e executar sqls
PreparedStatement stmt = ConexaoMySQL.getConexao().prepareStatement(SQL);
//Aplicando os valores nos '?'
stmt.setString(1, reuniao.getSala());
stmt.setString(2, reuniao.getDataMesAno());
//Executando o Script
ResultSet resultSet = stmt.executeQuery();
//Remove tudo de dentro do ComboBox
cbHoraInicio.removeAllItems();
//preenchendo o ComboBox
while (resultSet.next())
{
cbHoraInicio.addItem(resultSet.getString("horarioInicio"));
}
}
catch (Exception e)
{
//2ª - Jogar a exceção para cima com throw
throw e;
}
finally
{
//3ª - Fechar a conexao
//Este comando fica no finally porque a conexao deve ser encerrada
//tanto se der erro quanto não der
ConexaoMySQL.fechar();
}
}
Agradeço desde já.