publicvoidpesquisar_usuario(StringPesquisar){Connectioncon=ConnectionFactory.getConnection();PreparedStatementstmt=null;Stringsql="select id as Cód, nome as Nome, usuario as Login, senha as Senha, perfilUser as Perfil from user where nome like ?";try{pst=conexao.prepareStatement(sql);//passando o conteudo da caixa de texto para o --> ?//atemcao ao porcentagem % que é a continuação do SQLJOptionPane.showMessageDialog(null,Pesquisar);pst.setString(1,Pesquisar+"%");System.out.println("=============================");System.out.println(Pesquisar);rs=pst.executeQuery();TelaCadUsertelaCadUser=newTelaCadUser();telaCadUser.tblUser.setModel(DbUtils.resultSetToTableModel(rs));telaCadUser.tblUser.getColumnModel().getColumn(0).setMaxWidth(40);telaCadUser.tblUser.getColumnModel().getColumn(1).setMaxWidth(200);telaCadUser.tblUser.getColumnModel().getColumn(2).setMaxWidth(200);telaCadUser.tblUser.getColumnModel().getColumn(3).setMaxWidth(200);telaCadUser.tblUser.getColumnModel().getColumn(4).setMaxWidth(200);}catch(Exceptione){JOptionPane.showMessageDialog(null,e);//JOptionPane.showMessageDialog(null, Pesquisar);}}
e no código da interface passo o parametro assim chamando o método
privatevoidtxtPesquisarKeyReleased(java.awt.event.KeyEventevt){// TODO add your handling code here:UserDAOuser=newUserDAO();user.pesquisar_usuario(this.txtPesquisar.getText().toString());//System.out.println(this.txtPesquisar.getText().toString());}
mas depois que executa o trecho pst.setString(1, Pesquisar + “%”);
Observa que no final retornou o B que coloquei na caixa de pesquisa mas retornou direto lá da classe da tela
M
Solucao aceita
marcoacsilva
O erro está na linha 101 do seu Dao. O que tem lá?
Se for isso:
É porque esse objeto “conexao” está nulo.
Mude para con.prepareStatement(sql);
M
marcoacsilva
E de onde veio essa variável “pst”? Use o stmt que vc declarou em cima.
Por fim, não esqueça de fazer um finally depois do catch e fechar tudo (con, stmt, rs). Ou use try-with-ressources
B
BrunoRomero
Deu certo só não retornou os objetos na tabela ao digitar
S
staroski
Presta atenção no seu código:
Connectioncon=ConnectionFactory.getConnection();//aquivocêcriouumavariávelquerepresentaaconexãocomobancoPreparedStatementstmt=null;Stringsql="select id as Cód, nome as Nome, usuario as Login, senha as Senha, perfilUser as Perfil from user where nome like ?";try{pst=conexao.prepareStatement(sql);//eaquivocêestáchamandooutravariavelchamadaconexao