Eae pessoal Estou com um problema… Eu quero organizar a tabela com o comando where e com os dados de um combo box, tentei fazer o seguinte: (Mas não consegui)
package modeloTable;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
import modeloBeans.BeansTelaPrincipal;
import modeloConnection.ConexaoBD;
public class TableLocacao extends AbstractTableModel {
BeansTelaPrincipal beans = new BeansTelaPrincipal();
ConexaoBD conex = new ConexaoBD();
String where = beans.getTipoequip();
String order = beans.getOrganizar();
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(){
PreparedStatement stmt = null;
ResultSet rs = null;
if( "Todos".equals(where)) {
conex.conectar();
try {
stmt = conex.con.prepareStatement("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");
// "order by"+order+" ");
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;
}else{
conex.conectar();
try {
stmt = conex.con.prepareStatement("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 = '"+where+"' ");
// " order by "+order+" ");
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;
}}
Código da tela principal:
package visao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import modeloBeans.BeansTelaPrincipal;
import modeloConnection.ConexaoBD;
import modeloDao.DaoGerarLocacao;
import modeloDao.DaoLogin;
import modeloTable.TableEquipDisp;
import modeloTable.TableLocacao;
import modeloTable.TableTelaPrincipal;
public class TelaPrincipal extends javax.swing.JFrame {
BeansTelaPrincipal beanstp = new BeansTelaPrincipal();
TableLocacao tabletp = new TableLocacao();
TableEquipDisp tableed = new TableEquipDisp();
DaoGerarLocacao daogl = new DaoGerarLocacao();
ConexaoBD conex = new ConexaoBD();
DaoLogin login = new DaoLogin();
public TelaPrincipal() {
initComponents();
beanstp.setTipoequip("Todos");
TabelaLocacao.setModel(tabletp);
tabletp.clear();
tabletp.read();
TabelaEquipDisp.setModel(tableed);
tableed.clear();
tableed.read();
this.popularSelect();
lblUsuario.setText(login.usuario);
}
public void popularSelect (){
conex.conectar();
try {
PreparedStatement pst = null;
ResultSet rs = null;
pst = conex.con.prepareStatement("select tipoequipamento from tipoequipamento");
rs = pst.executeQuery();
while(rs.next()){
slctTipoequip.addItem(rs.getString("tipoequipamento"));
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao preencher Select.\n Erro:"+ex);
}
conex.desconetar();
}
//Item menu Paciente
private void MenuItemPacienteActionPerformed(java.awt.event.ActionEvent evt) {
CadastroPacientes tela = new CadastroPacientes();
tela.setVisible(true);
}
//Botão Gerar Locação
private void btnGerarLocacaoActionPerformed(java.awt.event.ActionEvent evt) {
GerarLocacao tela = new GerarLocacao();
tela.setVisible(true);
}
// Menu item Equipamentos
private void MenuItemEquipamentosActionPerformed(java.awt.event.ActionEvent evt) {
CadastroEquipamentos tela = new CadastroEquipamentos();
tela.setVisible(true);
}
// Esse botão que manda os dados do combobox e carrega a tabela
// Botão Carregar
private void btnCarregarActionPerformed(java.awt.event.ActionEvent evt) {
BeansTelaPrincipal beanstp = new BeansTelaPrincipal();
beanstp.setTipoequip((String)slctTipoequip.getSelectedItem());
//beanstp.setOrganizar((String)slctOrganizar.getSelectedItem());
tabletp.clear();
tabletp.read();
}
//Menu Item Usuario
private void MenuItemUsuarioActionPerformed(java.awt.event.ActionEvent evt) {
CadastroUsuarios tela = new CadastroUsuarios();
tela.setVisible(true);
}
// Menu Item Gerar Locacao
private void MenuItemGerarActionPerformed(java.awt.event.ActionEvent evt) {
GerarLocacao tela = new GerarLocacao();
tela.setVisible(true);
}
// Menu Item Gerenciar Locação
private void MenuItemGerenciarActionPerformed(java.awt.event.ActionEvent evt) {
GerenciarLocacao tela = new GerenciarLocacao();
tela.setVisible(true);
}
// Menu Item Sair
private void MenuItemSairActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(TelaPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaPrincipal().setVisible(true);
}
});
}
Desde de já agradeço…