Galera to com um enorme duvida, to fazendo um projetinho academico
bastante simples , se trata de uma creche no qual cadastro os monitores , alunos
e faço um select nos alunos mostrando todos os dados cadastrados.
Porem eu gostaria de esta filtrando por turma porem não estou conseguindo
gostaria que voces estivessem dando uma olhada, fiz algo que axeii que seria o correto
porem não deu certo.
Projeto link = http://www.4shared.com/file/qFUJ4lj4/Creche.html
Login : administrador Senha : admin
Obs : Caso ocorra problema de referencia, o driver esta localizado na pasta Mysql, juntamente com o backup do meu banco
package Pimpolho;
import java.awt.Font;
import java.awt.event.*;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class ConsultaCliente extends JFrame implements ActionListener{
private JLabel titulo = new JLabel("CONSULTA TURMAS");
private JLabel nada = new JLabel();
private JLabel lbTurma = new JLabel("TURMA :");
private JComboBox cbTurma = new JComboBox();
private JButton btPesquisar = new JButton("Pesquisar");
private JButton btCancelar = new JButton("VOLTAR");
private DefaultTableModel modelo = new DefaultTableModel();
private JTable tabela = new JTable(modelo);
private JScrollPane painel = new JScrollPane(tabela);
private Vector nomeColunas;
private Vector registro;
private Vector dados;
private Icon icone = new ImageIcon("imagem/x7.jpg");
private JLabel logo = new JLabel(icone, JLabel.CENTER);
Conexao bancoDados = new Conexao();
public ConsultaCliente()
{
super("Consulta de Clientes");
initComponents();
}
private void initComponents()
{
titulo.setBounds(150, 10, 250, 40);
titulo.setFont(new Font("Arial",0 , 24));
lbTurma.setBounds(100, 80, 50, 20);
cbTurma.setBounds(180, 80, 120, 20);
cbTurma.addItem("");
cbTurma.addItem("A");
cbTurma.addItem("B");
cbTurma.addItem("C");
cbTurma.addItem("D");
criarJTable("SELECT * FROM aluno ORDER BY turmaA "); //Primeiramente ele mostra todos os dados ordenados
painel.setBounds(30, 110, 480, 200);
btPesquisar.setBounds(320, 80, 120, 20);
btCancelar.setBounds(359, 310, 150, 30);
getContentPane().add(titulo);
getContentPane().add(lbTurma);
getContentPane().add(cbTurma);
getContentPane().add(painel);
getContentPane().add(btPesquisar);
getContentPane().add(btCancelar);
getContentPane().add(nada);
logo.setBounds(0,0,550,390);
logo.setIcon(icone);
getContentPane().add(logo);
btCancelar.addActionListener(this);
btPesquisar.addActionListener(this);
tabela.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() >= 0) {
int linha = tabela.getSelectedRow();
registro = new Vector();
registro.add(tabela.getValueAt(linha,0));//nome
registro.add(tabela.getValueAt(linha,1));//telefone
registro.add(tabela.getValueAt(linha,2));//endereco
registro.add(tabela.getValueAt(linha,3));//cpf
registro.add(tabela.getValueAt(linha,4));//rg
registro.add(tabela.getValueAt(linha,5));//cnh
registro.add(tabela.getValueAt(linha,6));//datanasc
registro.add(tabela.getValueAt(linha,7));//cidade
registro.add(tabela.getValueAt(linha,8));//salario
registro.add(tabela.getValueAt(linha,9));//nome de referencia
new CadastroAluno("Alteraçao de Clientes", registro);
}
}
});
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setBounds(200, 200, 550, 390);
}
private void criarJTable(String sql)
{
int j = 0;
nomeColunas = new Vector();
dados = new Vector();
try {
/*Implementaçao do banco de dados*/
bancoDados.conectar();
bancoDados.executar(sql,"");
int cont = bancoDados.metadados.getColumnCount(); //qtd de colunas existentes no banco
for (int i = 1; i < cont ; i++) {
nomeColunas.add(i-1, bancoDados.metadados.getColumnName(i + 1));
}
//inserir registro no vetor de dados
while(bancoDados.resultset.next())
{//inicio while
registro = new Vector();
registro.add(bancoDados.resultset.getString("nomeA"));
registro.add(bancoDados.resultset.getString("datanascA"));
registro.add(bancoDados.resultset.getString("turmaA"));
registro.add(bancoDados.resultset.getString("nomeR"));
registro.add(bancoDados.resultset.getString("cpfR"));
registro.add(bancoDados.resultset.getString("rgR"));
registro.add(bancoDados.resultset.getString("datanascR"));
registro.add(bancoDados.resultset.getString("enderecoR"));
registro.add(bancoDados.resultset.getString("telefoneR"));
registro.add(bancoDados.resultset.getString("emailR"));
dados.add(registro);
}//fim while
modelo = new DefaultTableModel(dados, nomeColunas);
tabela = new JTable(modelo);
painel = new JScrollPane(tabela);
} catch (SQLException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(rootPane, "Ocooreu um erro na criaçao da tabela de consulta!! ERRO: " + ex.getMessage() );
}
//inserir registro no vetor de dados
} // final do metodo criarJTable
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == btCancelar){
dispose();
new JanelaPrincipal();
}
if(e.getSource() == btPesquisar){
criarJTable("select * from aluno where turmaA = '"+cbTurma.getSelectedItem()+"'"); //Ao clicar no botao pesquisar ele lista somente a turma selecionada na JComboBox.
System.out.println("Passou por aqui"); //teste
}
}
public static void main(String[] args) {
new ConsultaCliente();
}
}
O que eu quero e que ele mostre somente a turma selecionada na JComboBox.