Estou tentando preencher a tabela passando o Select (para fazer a pesquisa no banco de dados) por meio de um getter e setter, para organizar a tabela da forma que o usuário preferir porém eu tento aparece o seguinte erro:
Segue os códigos:
Botão que Carrega a tabela
// Botão Carregar
private void btnCarregarActionPerformed(java.awt.event.ActionEvent evt) {
TableTelaPrincipal tabletp = new TableTelaPrincipal();
TabelaLocacao.setModel(tabletp);
String Select = null;
if(slctTipoequip.getSelectedIndex()== 0){
Select = ("select l.codlocacao, e.nome, e.codinterno, e.numeroserie, l.statusequip, l.fisio, p.nome,"+
" p.nomeresponsavel, l.datainicial, l.valorlocacao"+
" from locacao l"+
" join equipamento e"+
" on l.codequip = e.codequip"+
" join paciente p"+
" on l.codpaciente = p.codpaciente");
}else{
Select = ("select l.codlocacao, e.nome, e.codinterno, e.numeroserie, l.statusequip, l.fisio, p.nome,"
+ " p.nomeresponsavel, l.datainicial, l.valorlocacao"
+ " from locacao l "
+ "join equipamento e "
+ "on l.codequip = e.codequip"
+ " join paciente p "
+ "on l.codpaciente = p.codpaciente"
+ " where e.tipoequip = '"+slctTipoequip.getSelectedItem()+"' ");
}
beanstp.setSelectTable(Select);
tabletp.clear();
tabletp.read();
}
Classe da tabela:
public class TableTelaPrincipal extends AbstractTableModel{
BeansTelaPrincipal beanstp = new BeansTelaPrincipal();
ConexaoBD conex = new ConexaoBD();
private final List<BeansTelaPrincipal> dados = new ArrayList<>();
private final String[] colunas = {"ID Locação","Equipamento","Código","Num. de Série", "Status",
"Fisioterapeuta", "Paciente", "Responsavel", "Data inicial",
"Valor da Locação"};
@Override
public String getColumnName(int column) {
return colunas[column];
}
@Override
public int getRowCount() {
return dados.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
public List<BeansTelaPrincipal> read(){
conex.conectar();
PreparedStatement stmt = null;
ResultSet rs = null;
try {
stmt = conex.con.prepareStatement(beanstp.getSelectTable()); //Pegando a variavel para fazer a pesquisa
rs = stmt.executeQuery();
while (rs.next()){
BeansTelaPrincipal beans = new BeansTelaPrincipal();
beans.setCodlocacao(rs.getInt("l.codlocacao"));
beans.setEquipamento(rs.getString("e.nome"));
beans.setCodigo(rs.getString("e.codinterno"));
beans.setNumserie(rs.getString("e.numeroserie"));
beans.setStatus(rs.getString("l.statusequip"));
beans.setFisio(rs.getString("l.fisio"));
beans.setPaciente(rs.getString("p.nome"));
beans.setResponsavel(rs.getString("p.nomeresponsavel"));
beans.setDatainicial(rs.getString("l.datainicial"));
beans.setValor(rs.getString("l.valorlocacao"));
dados.add(beans);
this.fireTableDataChanged();
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao preencher Tabela.\n Erro:"+ex);
}
conex.desconetar();
return null;
}
public List<BeansTelaPrincipal> clear(){
dados.clear();
return null;
}
@Override
public Object getValueAt(int linha, int coluna) {
switch (coluna){
case 0:
return dados.get(linha).getCodlocacao();
case 1:
return dados.get(linha).getEquipamento();
case 2:
return dados.get(linha).getCodigo();
case 3:
return dados.get(linha).getNumserie();
case 4:
return dados.get(linha).getStatus();
case 5:
return dados.get(linha).getFisio();
case 6:
return dados.get(linha).getPaciente();
case 7:
return dados.get(linha).getResponsavel();
case 8:
return dados.get(linha).getDatainicial();
case 9:
return dados.get(linha).getValor();
}
return null;
}
}