ERRO Netbeans: Exception in thread

IDE

09/12/2018

Ola, estou montando meu primeiro programa no netbeans e me deparei com um erro em que não consigo achar a solução, peço ajuda dos mais experientes para resolver este caso, só ocorre o erro quando eu clico no botão para pesquisar no banco de dados os usuários cadastrados. Segue o ERRO:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at modeloDao.DaoUsuarios.buscaUsuario(DaoUsuarios.java:41)
at visão.FormUsuário.jButtonPesquisaActionPerformed(FormUsuário.java:362)
at visão.FormUsuário.access$300(FormUsuário.java:16)
at visão.FormUsuário$4.actionPerformed(FormUsuário.java:142)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
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:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
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)


Aqui está as linhas que estão dando erro:

public BeansUsuario buscaUsuario(BeansUsuario mod){
conex.conexao();
conex.executaSql("select 'From tabelausuario where Nome like'%"+mod.getPesquisa()+"%'');
try {
conex.rs.first(); //LINHA 41
mod.setFunção(conex.rs.getString("Função"));
mod.setID(conex.rs.getInt("ID"));
mod.setNome(conex.rs.getString("Nome"));
mod.setTelefone(conex.rs.getString("Senha"));
mod.setTelefone(conex.rs.getInt("Telefone"));
mod.setUsuario(conex.rs.getString("Usuarios"));
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ao pesquisar usuarios/nErro:"+ex);
}
private void jButtonPesquisaActionPerformed(java.awt.event.ActionEvent evt) {
mod.setPesquisa(jPesquisa.getText());
BeansUsuario model = control.buscaUsuario(mod); //LINHA 362
Jnomeusuario.setText(model.getNome());
jusuario.setText(model.getUsuario());
jid.setText(String.valueOf(model.getID()));
Jtelefoneusuarios.setText(String.valueOf(model.getTelefone()));
jComboBoxFunção.setSelectedItem(model.getFunção());
jButtonEditar.setEnabled(true);
jButtonExcluir.setEnabled(true);


public class FormUsuário extends javax.swing.JFrame { //LINHA 16

BeansUsuario mod = new BeansUsuario();
ConexaoBD conex = new ConexaoBD();
DaoUsuarios control = new DaoUsuarios();

public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonPesquisaActionPerformed(evt); //LINHA 142...
Douglas Brito

Douglas Brito

Curtidas 0

Melhor post

Kleber Santos

Kleber Santos

09/12/2018

O problema não é o Netbeans, ele apenas está te mostrando em qual parte do código da tua aplicação está com erro.
Primeiro você precisa se cerificar que existe um BD com a tabela ''tabelausuario'' e se ela contem dados no teu SGBD.
O problema está nessa consulta:
conex.executaSql("select ''From tabelausuario where Nome like''%"+mod.getPesquisa()+"%'''');
Depois do select está meio estranho, oque você precisa que retorne da consulta? Se for toda a tabela ficaria da seguinte maneira:
select tabelausuario.* From tabelausuario where Nome like '%paulo%'.
No lugar do Paulo, no teu caso vem através do mod.getPesquisa()
GOSTEI 1

Mais Respostas

Douglas Brito

Douglas Brito

09/12/2018

O problema não é o Netbeans, ele apenas está te mostrando em qual parte do código da tua aplicação está com erro.
Primeiro você precisa se cerificar que existe um BD com a tabela ''tabelausuario'' e se ela contem dados no teu SGBD.
O problema está nessa consulta:
conex.executaSql("select ''From tabelausuario where Nome like''%"+mod.getPesquisa()+"%'''');
Depois do select está meio estranho, oque você precisa que retorne da consulta? Se for toda a tabela ficaria da seguinte maneira:
select tabelausuario.* From tabelausuario where Nome like '%paulo%'.
No lugar do Paulo, no teu caso vem através do mod.getPesquisa()



Entendo, no caso ja verifiquei se tem algo de errado com a tabela, más nao é o caso vou verificar isto que vc me falou e tentar rodar..
GOSTEI 0
Kleber Santos

Kleber Santos

09/12/2018

Analisando melhor tente como está abaixo:

conex.executaSql("select Funcao, ID, Nome, Senha, Telefone, Usuarios From tabelausuario where Nome like '%"+mod.getPesquisa()+"%''');
try {
conex.rs.first();
mod.setFuncao(conex.rs.getString("Funcao"));
mod.setID(conex.rs.getInt("ID"));
mod.setNome(conex.rs.getString("Nome"));
mod.setTelefone(conex.rs.getString("Senha"));
mod.setTelefone(conex.rs.getInt("Telefone"));
mod.setUsuario(conex.rs.getString("Usuarios"));
} catch (SQLException ex) {
-
Não utilize acentuação como esse exemplo:---> mod.setFunção(conex.rs.getString("Função"));: <--
GOSTEI 0
Douglas Brito

Douglas Brito

09/12/2018

O problema não é o Netbeans, ele apenas está te mostrando em qual parte do código da tua aplicação está com erro.
Primeiro você precisa se cerificar que existe um BD com a tabela ''tabelausuario'' e se ela contem dados no teu SGBD.
O problema está nessa consulta:
conex.executaSql("select ''From tabelausuario where Nome like''%"+mod.getPesquisa()+"%'''');
Depois do select está meio estranho, oque você precisa que retorne da consulta? Se for toda a tabela ficaria da seguinte maneira:
select tabelausuario.* From tabelausuario where Nome like '%paulo%'.
No lugar do Paulo, no teu caso vem através do mod.getPesquisa()



select tabelausuario.* From tabelausuario where Nome like '%paulo%'.
Coloquei dessa forma mas nao deu certo, nao pesquisou na tabela, mas tambem nao deu erro entao paarece que o problema esta ai mesmo, tem ideia de como posso colocar este codigo diferente? no meu caso eu tenho minha tabela usuario e quero pesquisar no botão 'jpesquisar' pelo nome assim mostrando todos os dados.
GOSTEI 0
Douglas Brito

Douglas Brito

09/12/2018

Analisando melhor tente como está abaixo:

conex.executaSql("select Funcao, ID, Nome, Senha, Telefone, Usuarios From tabelausuario where Nome like '%"+mod.getPesquisa()+"%''');
try {
conex.rs.first();
mod.setFuncao(conex.rs.getString("Funcao"));
mod.setID(conex.rs.getInt("ID"));
mod.setNome(conex.rs.getString("Nome"));
mod.setTelefone(conex.rs.getString("Senha"));
mod.setTelefone(conex.rs.getInt("Telefone"));
mod.setUsuario(conex.rs.getString("Usuarios"));
} catch (SQLException ex) {
-
Não utilize acentuação como esse exemplo:---> mod.setFunção(conex.rs.getString("Função"));: <--


Ok irei tentar
GOSTEI 0
Douglas Brito

Douglas Brito

09/12/2018

Analisando melhor tente como está abaixo:

conex.executaSql("select Funcao, ID, Nome, Senha, Telefone, Usuarios From tabelausuario where Nome like '%"+mod.getPesquisa()+"%''');

utilizei esse metodo e nao deu certo amigo, quando fecho com ponto e virgula ela ainda esta amarela parecendo que nao fechou a linha ainda
GOSTEI 0
Douglas Brito

Douglas Brito

09/12/2018

RESOLVIDO

O código ficou desse jeito:

conex.executaSql("select Funcao, ID, Nome, Senha, Telefone, Usuario From tabelausuario where Nome like '%"+mod.getPesquisa()+"%'");
try {
conex.rs.first();
mod.setFunção(conex.rs.getString("Funcao"));
mod.setID(conex.rs.getInt("ID"));
mod.setNome(conex.rs.getString("Nome"));
mod.setTelefone(conex.rs.getString("Senha"));
mod.setTelefone(conex.rs.getInt("Telefone"));
mod.setUsuario(conex.rs.getString("Usuario"));
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ao pesquisar usuarios/nErro:"+ex);
}


Muito Obrigado Kleber, ajudou muito
GOSTEI 1
POSTAR