Meu problema é o seguinte. Estou fazendo um programa para consultório médico.
Há um cadastro das consultas que consta com nome do médico, do paciente, horário de consulta, etc.
Eu preciso fazer o seguinte: ao selecionar o nome de um dos médicos em um combobox, todos os pacientes desse determinado médico e seus respectivos horários de consulta devem ser mostrados.
Da mesma forma, ao selecionar um certo horário de consulta, todos os pacientes que têm consulta nesse horário bem como os médicos de cada um devem ser mostrados.
Estava fazendo o seguinte:
private void doQuery(String query){
ResultSet rs;
try{
Statement stmt = ConectaClin.createStatement();
rs = stmt.executeQuery(query);
while(rs.next()){
dadosConsulta.setText("\nCodigo: " + rs.getObject(1).toString() + "\n" +
"Paciente: " + rs.getObject(2) + "\n" +
"Médico: " + rs.getObject(3) + "\n" +
"Hora: " + rs.getObject(4) + "\n" +
"Dia: " + rs.getObject(5) + "\n" +
"Mês: " + rs.getObject(6) + "\n" +
"Ano: " + rs.getObject(7) + "\n" +
"Pagamento: " + rs.getObject(8));
}
}catch(Exception ex){
ex.printStackTrace();
}
}
E mais em baixo, para cada campo:
if (e.getSource() == MNome)//nome do médico
{
query = new String(“SELECT * FROM consultas WHERE mnome = '” + MNome.getSelectedItem() + “’”);
doQuery(query);
}
Mas desta forma só o último registro estava sendo mostrado e não todos. Por exemplo, se eu seleciono um médico, mostra apenas as informações da última consulta salva no banco de dados.
Como resolvo meu problema?