Logica do meu filtro nao estah certa!

private void carregaFiltro(String dado){
try {
Statement st=conexao.createStatement();
ResultSet rs=st.executeQuery(“Select * From ordem Where “”+dado+”=""+tfFiltrar.getText()+""");
Vector cab = new Vector();
cab.addElement(“Codigo”);
cab.addElement(“Numero O.S.”);
cab.addElement(“Tecnico”);
cab.addElement(“Inicio Assistencia”);
cab.addElement("Fim Assistencia ");
cab.addElement(“Data”);

        Vector lin = new Vector();
        Vector col = new Vector();
        while(rs.next()){
            col.removeAllElements();
            col.addElement(rs.getString("cod"));
            col.addElement(rs.getString("num_servico"));
            col.addElement(rs.getString("tecnico"));
            col.addElement(rs.getString("hora_inicio"));
            col.addElement(rs.getString("hora_fim"));
            col.addElement(rs.getString("data"));
            lin.add(new Vector(col));
            
        }
        tbDados.setModel(new javax.swing.table.DefaultTableModel(lin, cab));
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null,"Nao foi possivel efetuar o filtro","ERRO",JOptionPane.ERROR_MESSAGE);
    }
}

esse eh metodo que quero utilixar para carregar os dados na minha tabela;
mas eu quero fazer funcionar um filtro na tela
no filtro vai ser assim

Filtrar…codigo
numero da ordem de serviço
nome do tecnico

esses tres nno fim estao em um combobox

e de acordo que eu selecionar no combobox e digitar no TextField e clicar em filtrar
devera carregar os dados na jTable
blz
agora vem os testes que fiz pra saber qual item do combobox tah selecionado e dai preencher a jTable

private void btFiltrarActionPerformed(java.awt.event.ActionEvent evt) {
if(jcFiltrar.getSelectedItem().equals(“Codigo”)){

        if(!tfFiltrar.getText().isEmpty()){
            carregaFiltro("cod");
        }else{
            filtro="";
            atualizaTabela();
        }
    }else if(jcFiltrar.getSelectedItem().equals("Numero da Ordem")){
        if(!tfFiltrar.getText().isEmpty()){
            carregaFiltro("num_servico");
        }else{
            filtro="";
            atualizaTabela();
        }
    }else if(jcFiltrar.getSelectedItem().equals("Nome do Tecnico")){
        if(!tfFiltrar.getText().isEmpty()){
            carregaFiltro("tecnico");
        }else{
            filtro="";
            atualizaTabela();
        }
    }

soh que nao funciona!!!

Blz, utilize as tags “code” para ficar mais fácil de entender seu código.

private void btFiltrarActionPerformed(java.awt.event.ActionEvent evt) {
	 if(jcFiltrar.getSelectedItem().equals("Codigo")){
		 if(!tfFiltrar.getText().isEmpty()){
			 carregaFiltro("cod");
		 }else{
			 filtro="";
			 atualizaTabela();
		 }
	 }else if(jcFiltrar.getSelectedItem().equals("Numero da Ordem")){
		 if(!tfFiltrar.getText().isEmpty()){
			 carregaFiltro("num_servico");
		 }else{
			 filtro="";
			 atualizaTabela();
		 }
	 }else if(jcFiltrar.getSelectedItem().equals("Nome do Tecnico")){
		 if(!tfFiltrar.getText().isEmpty()){
			 carregaFiltro("tecnico");
		 }else{
			 filtro="";
			 atualizaTabela();
		 }
	 } 

Verifique se esta entrando dentro dos ifs esperados quando vc seleciona a opção no combobox, se sim, o erro deve estar nas funções “carregaFiltro” e “atualizaTabela”, mas essas vc não colocou o código.
Coloca os códigos ai entre as tags “code” para análise.

Falou…

[code]
private void btFiltrarActionPerformed(java.awt.event.ActionEvent evt) {
if(jcFiltrar.getSelectedItem().equals(“Codigo”)){
if(!tfFiltrar.getText().isEmpty()){
carregaFiltro(“cod”);
}else{
filtro="";
atualizaTabela();
}
}else if(jcFiltrar.getSelectedItem().equals(“Numero da Ordem”)){
if(!tfFiltrar.getText().isEmpty()){
carregaFiltro(“num_servico”);

        }else{
            filtro="";
            atualizaTabela();
        }
    }else if(jcFiltrar.getSelectedItem().equals("Nome do Tecnico")){
        if(!tfFiltrar.getText().isEmpty()){
            carregaFiltro("tecnico");
            
        }else{
            filtro="";
            atualizaTabela();
        }
    }
    
}[/code]

[code]
private void carregaFiltro(String dado){
try {
Statement st=conexao.createStatement();
ResultSet rs=st.executeQuery(“Select * From ordem Where”"+dado+"" =""+tfFiltrar.getText()+""");

        Vector cab = new Vector();
        cab.addElement("Codigo");
        cab.addElement("Numero O.S.");
        cab.addElement("Tecnico");
        cab.addElement("Inicio Assistencia");
        cab.addElement("Fim Assistencia ");
        cab.addElement("Data");
        
        Vector lin = new Vector();
        Vector col = new Vector();
        while(rs.next()){
            col.removeAllElements();
            col.addElement(rs.getString("cod"));
            col.addElement(rs.getString("num_servico"));
            col.addElement(rs.getString("tecnico"));
            col.addElement(rs.getString("hora_inicio"));
            col.addElement(rs.getString("hora_fim"));
            col.addElement(rs.getString("data"));
            lin.add(new Vector(col));
            
        }
        tbDados.setModel(new javax.swing.table.DefaultTableModel(lin, cab));
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null,"Nao foi possivel efetuar o filtro","ERRO",JOptionPane.ERROR_MESSAGE);
    }
}[/code]

ele executa os if’s certo
coloquei uns JOptionPane pra ver, e vai blz

ele nao mostra a msg de erro do metodo carregaFiltro()
porem nao carrega a jTable!

Não sei se pode ser a cópia do código aqui, mas parece que nessa linha:

ResultSet rs=st.executeQuery("Select * From ordem Where\""+dado+"\" =\""+tfFiltrar.getText()+"\"");  

ta faltando um espaço depois do “Where”.
Vc pediu pra imprimir os dados que estão sendo retornados da consulta?

A construção e colocação do model parece que estão corretos.

Falou…

tentei por espaços que vc me falou!!!
e nada!!
nao fasso ideia do que pode ter de errado!!!
mas eu fiz dessa forma e funcionou mas eu nao gosto desse tipo de programação!!!
acho errado!!

if(jcFiltrar.getSelectedItem().equals("Codigo")){
            
            if(!tfFiltrar.getText().isEmpty()){
                try {
                    Statement st=conexao.createStatement();
                    ResultSet rs=st.executeQuery("Select * From ordem Where cod =\""+tfFiltrar.getText()+"\"");
                    
                    Vector cab = new Vector();
                    cab.addElement("Codigo");
                    cab.addElement("Numero O.S.");
                    cab.addElement("Tecnico");
                    cab.addElement("Inicio Assistencia");
                    cab.addElement("Fim Assistencia ");
                    cab.addElement("Data");
                    
                    Vector lin = new Vector();
                    Vector col = new Vector();
                    while(rs.next()){
                        col.removeAllElements();
                        col.addElement(rs.getString("cod"));
                        col.addElement(rs.getString("num_servico"));
                        col.addElement(rs.getString("tecnico"));
                        col.addElement(rs.getString("hora_inicio"));
                        col.addElement(rs.getString("hora_fim"));
                        col.addElement(rs.getString("data"));
                        lin.add(new Vector(col));
                        
                    }
                    tbDados.setModel(new javax.swing.table.DefaultTableModel(lin, cab));
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null,"Nao foi possivel efetuar o filtro","ERRO",JOptionPane.ERROR_MESSAGE);
                }
            }else{
                filtro="";
                atualizaTabela();
            }
        }else if(jcFiltrar.getSelectedItem().equals("Numero da Ordem")){
            if(!tfFiltrar.getText().isEmpty()){
                try{
                    Statement st=conexao.createStatement();
                    ResultSet rs=st.executeQuery("Select * From ordem Where num_servico =\""+tfFiltrar.getText()+"\"");
                    
                    Vector cab = new Vector();
                    cab.addElement("Codigo");
                    cab.addElement("Numero O.S.");
                    cab.addElement("Tecnico");
                    cab.addElement("Inicio Assistencia");
                    cab.addElement("Fim Assistencia ");
                    cab.addElement("Data");
                    
                    Vector lin = new Vector();
                    Vector col = new Vector();
                    while(rs.next()){
                        col.removeAllElements();
                        col.addElement(rs.getString("cod"));
                        col.addElement(rs.getString("num_servico"));
                        col.addElement(rs.getString("tecnico"));
                        col.addElement(rs.getString("hora_inicio"));
                        col.addElement(rs.getString("hora_fim"));
                        col.addElement(rs.getString("data"));
                        lin.add(new Vector(col));
                        
                    }
                    tbDados.setModel(new javax.swing.table.DefaultTableModel(lin, cab));
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null,"Nao foi possivel efetuar o filtro","ERRO",JOptionPane.ERROR_MESSAGE);
                }
            }else{
                filtro="";
                atualizaTabela();
            }
        }else if(jcFiltrar.getSelectedItem().equals("Nome do Tecnico")){
            if(!tfFiltrar.getText().isEmpty()){
                try{
                    Statement st=conexao.createStatement();
                    ResultSet rs=st.executeQuery("Select * From ordem Where tecnico =\""+tfFiltrar.getText()+"\"");
                    
                    Vector cab = new Vector();
                    cab.addElement("Codigo");
                    cab.addElement("Numero O.S.");
                    cab.addElement("Tecnico");
                    cab.addElement("Inicio Assistencia");
                    cab.addElement("Fim Assistencia ");
                    cab.addElement("Data");
                    
                    Vector lin = new Vector();
                    Vector col = new Vector();
                    while(rs.next()){
                        col.removeAllElements();
                        col.addElement(rs.getString("cod"));
                        col.addElement(rs.getString("num_servico"));
                        col.addElement(rs.getString("tecnico"));
                        col.addElement(rs.getString("hora_inicio"));
                        col.addElement(rs.getString("hora_fim"));
                        col.addElement(rs.getString("data"));
                        lin.add(new Vector(col));
                        
                    }
                    tbDados.setModel(new javax.swing.table.DefaultTableModel(lin, cab));
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null,"Nao foi possivel efetuar o filtro","ERRO",JOptionPane.ERROR_MESSAGE);
                }
            }else{
                filtro="";
                atualizaTabela();
            }
        }