public void pesquisar_usuario(String Pesquisar) {
Connection con = ConnectionFactory.getConnection();
PreparedStatement stmt = null;
String sql = "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 SQL
JOptionPane.showMessageDialog(null, Pesquisar);
pst.setString(1, Pesquisar + "%");
System.out.println("=============================");
System.out.println(Pesquisar);
rs = pst.executeQuery();
TelaCadUser telaCadUser = new TelaCadUser();
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 (Exception e) {
JOptionPane.showMessageDialog(null, e);
//JOptionPane.showMessageDialog(null, Pesquisar);
}
}
e no código da interface passo o parametro assim chamando o método
private void txtPesquisarKeyReleased(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
UserDAO user = new UserDAO();
user.pesquisar_usuario(this.txtPesquisar.getText().toString());
//System.out.println(this.txtPesquisar.getText().toString());
}
mas depois que executa o trecho
pst.setString(1, Pesquisar + “%”);
java.lang.NullPointerException
at br.com.sgef.dao.UserDAO.pesquisar_usuario(UserDAO.java:101)
at br.com.sgef.telas.TelaCadUser.txtPesquisarKeyReleased(TelaCadUser.java:439)
at br.com.sgef.telas.TelaCadUser.access$800(TelaCadUser.java:19)
at br.com.sgef.telas.TelaCadUser$10.keyReleased(TelaCadUser.java:333)
at java.awt.Component.processKeyEvent(Component.java:6500)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2832)
at java.awt.Component.processEvent(Component.java:6316)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:835)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1103)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:974)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:800)
at java.awt.Component.dispatchEventImpl(Component.java:4760)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
B
Observa que no final retornou o B que coloquei na caixa de pesquisa mas retornou direto lá da classe da tela
Connection con = ConnectionFactory.getConnection(); // aqui você criou uma variável que representa a conexão com o banco
PreparedStatement stmt = null;
String sql = "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); // e aqui você está chamando outra variavel chamada conexao