quero fazer uma pesquisa no banco de dados e jogar o retorno em um jTable, eu ja consigo fazer isso com todos os registros da tabela, mas quando pesquiso apenas um usuário (pelo codigo) ele mantem a tabela igual, com todos os registros, mas se eu redimensionar a tela fica apenas os dados do código que eu passei, MUITO ESTRANHO.
Segue meu código.
Evento:
private void btnPesquisaClienteActionPerformed(java.awt.event.ActionEvent evt) {
ClienteTableModel ctm = (ClienteTableModel) tabClientes.getModel();
if(txtCod.getText().isEmpty() && txtNome.getText().isEmpty()){
ctm.setDados(clienteDao.getClientes());
}
else if(!txtCod.getText().isEmpty()){
List<Cliente> ls = new ArrayList<Cliente>();
ls.add(clienteDao.getClienteId(Integer.parseInt(txtCod.getText())));
ctm.setDados(ls);
tabClientes.setModel(ctm);
}
}
metodo de pesquisa no DB:
private final String SELECTID = "SELECT idCliente, nome, endereco, telefone, data_nasc FROM NotaFiscalEletronica.Cliente WHERE idCliente=?;";
public Cliente getClienteId(int id){
Connection connection = new ConnectionFactory().getConnection();
StringBuilder sb = new StringBuilder();
try {
Calendar cal = Calendar.getInstance();
Cliente c;
PreparedStatement prepStm = connection.prepareStatement(SELECTID);
prepStm.setInt(1, id);
ResultSet rs = prepStm.executeQuery();
rs.first();
cal.setTimeInMillis(rs.getDate("data_nasc").getTime());
c = new Cliente(rs.getInt("idCliente"), rs.getString("nome"), rs.getString("endereco"), rs.getString("telefone"), cal);
return c;
}
catch (SQLException ex) {
ex.printStackTrace();
return null;
}
finally{
try {
connection.close();
}
catch (SQLException ex) {
throw new RuntimeException("Quebra na conexão com o database");
}
}
}
Gente, ta bem estranho isso se alguém souber o que é pls responde :D