Como pegar o resultado de uma Query (Sub-Query) em Java [RESOLVIDO]

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á.

faça um while com System.out.println() e me diga o que trouxe de resultado, também coloque no catch um system.out.print para ve se n gerou nenhum erro:

catch (Exception e) 
{
    	System.out.println(e.getMessage());
	throw e;
}

faça os testes e de um feedback.

Não gera nenhum erro…

Assim na tabela horario eu tenho horarioInicio e na tabela agenda_reuniao eu tenho horainicio , quero que ele retorna todos os horarios que não tenha reunião marcada e essa query retorna exatamente isso quando executado direto do banco, porem quando eu executo junto com o programa ele retorna todos os valores.
Exemplo:
Na Sala A , Data: 20-10-2016
retorna
7:00
7:30
8:00
8:30
até 20:30

sendo que no banco ele retorna apenas
19:30
20:00
pois eu tenho reuniões marcadas(Inseri para efetuar o teste)

Acho que o erro está aqui, pois eu estou passando a coluna da tabela , talvez por isso esteja gravando todos os valores e não os retornados da query.

Porem eu não sei como arrumar

Seguinte, vc cria uma nova reunião, assim essa reunião n possui valor dentro. Ae vc coloca um .setString() com a reunião vazia. Esta ae seu problema, pois quando ele chega nessas linhas…

stmt.setString(1, reuniao.getSala());
stmt.setString(2, reuniao.getDataMesAno());

A Reunião esta vazia pois vc deu um new.

Vc também pode alterar para:

while (resultSet.next()) 
{
    cbHoraInicio.addItem(resultSet.getString(1));
}

Poxa cara, você está totalmente certo.

Eu não percebi que poderia ter sido isso, uma coisa muito boba…

Te agradeço, muito obrigado…