Estou desenvolvendo uma aplicação java para desktop e gostaria de pegar somente os registros duplicados e mostrar em uma table mas o meu comando sql não está retornando nada.
Exemplo tenho na minha tabela visitas dois nomes de Lucas, gostaria de retorna esse dados dos Lucas em uma table.Mas ele não retorna os dados dos dois Lucas.
public DefaultTableModel pesquisaVisitasMaisDeUmResultado(String nome){
Visitas visi= new Visitas();
try {
con = Conecta.conexao();
} catch (ClassNotFoundException ex) {
Logger.getLogger(EntradaMaquinaDAO.class.getName()).log(Level.SEVERE, null, ex);
}
DefaultTableModel modelo;
String [] titulos = {"Defeito","data entrada","Data saida","Hora de entrada","Hora de Saida","Horas Trabalhadas","Word","Excel","Power","Outlook","Visitas"};
String [] registro = new String[11];
modelo= new DefaultTableModel(null,titulos);
if(!"".equals(nome)){
try{
String sql="SELECT vi_cod, count(cha_nome),vi_dataentra,vi_datasaida,vi_defeito,vi_horainicio,vi_horafinal,vi_horastrabalhadas, vi_word, vi_excel,vi_power,vi_qtde, vi_outlook FROM tb_visitas where cha_nome like '%" + nome +"%' group by vi_cod having count(cha_nome)>1";
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery(sql);
if(rs.next()){
registro [0]=rs.getString("vi_defeito");
registro [1]=rs.getString("vi_dataentra");
registro [2]=rs.getString("vi_datasaida");
registro [3]=rs.getString("vi_horainicio");
registro [4]=rs.getString("vi_horafinal");
registro [5]=rs.getString("vi_horastrabalhadas");
registro [6]=rs.getString("vi_word");
registro [7]=rs.getString("vi_excel");
registro [8]=rs.getString("vi_power");
registro [9]=rs.getString("vi_outlook");
registro [10]=rs.getString("vi_qtde");
modelo.addRow(registro);
}
else{
registro [0]=rs.getString("vi_defeito");
registro [1]=rs.getString("vi_dataentra");
registro [2]=rs.getString("vi_datasaida");
registro [3]=rs.getString("vi_horainicio");
registro [4]=rs.getString("vi_horafinal");
registro [5]=rs.getString("vi_horastrabalhadas");
registro [6]=rs.getString("vi_word");
registro [7]=rs.getString("vi_excel");
registro [8]=rs.getString("vi_power");
registro [9]=rs.getString("vi_outlook");
registro [10]=rs.getString("vi_qtde");
if(rs.getString("vi_word")==null){
checkboxWord.setSelected(false);
}
else{
visi.setVi_word(rs.getString("vi_word"));
checkboxWord.setSelected(true);
}
if(rs.getString("vi_excel")== null){
checkboxExcel.setSelected(false);
}
else{
visi.setVi_excel(rs.getString("vi_excel"));
checkboxExcel.setSelected(true);
}
if(rs.getString("vi_power")== null){
jCheckBoxPower.setSelected(false);
}
else{
visi.setVi_power(rs.getString("vi_power"));
jCheckBoxPower.setSelected(true);
}
if(rs.getString("vi_outlook")== null){
jCheckBoxOutllok.setSelected(false);
}
else{
visi.setVi_outlook(rs.getString("vi_outlook"));
jCheckBoxOutllok.setSelected(true);
}
txtVisita.setText(String.valueOf(rs.getInt("vi_cod")));
txtNome.setText(rs.getString("cha_nome"));
txtDescricao.setText(rs.getString("vi_defeito"));
txtHoraInicio.setText(rs.getString("vi_horainicio"));
txtHorarioFinal.setText(rs.getString("vi_horafinal"));
txtResul.setText(rs.getString("vi_horastrabalhadas"));
jFormattedDataEntrada.setText(rs.getString("vi_dataentra"));
jFormattedDataSaida.setText(rs.getString("vi_datasaida"));
txtVisitas.setText(String.valueOf(rs.getInt("vi_qtde")));
modelo.addRow(registro);
}
return modelo;
}catch(SQLException ex){
JOptionPane.showMessageDialog(null, " erro" + ex);
}
} else{
JOptionPane.showMessageDialog(null, "Não há visitas para a pesquisa! \nTente novamente...");
}
return modelo;
}
void mostrarResultadosVisitasChamadasMaisDeUm(String nome) {
try {
DefaultTableModel modelo,modelo2;
modelo=pesquisaVisitasMaisDeUmResultado(txtNome.getText());
jTable1.setModel(modelo);
ocultar_colunas();
} catch (Exception e) {
System.out.println("Erro ao mostrar os dados :\n Erro:" + e.getMessage());
}
}
Botão pesquisar
private void btnConsultarActionPerformed(java.awt.event.ActionEvent evt) {
mostrarResultadosVisitasChamadasMaisDeUm(txtNome.getText());
}
