Estou com um problema no meu codigo poderiam me ajuda?

Java

12/11/2017

run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Conexoes.conex.executaSql(conex.java:44)
at infotec.InfoTec.preenchertabela(InfoTec.java:249)
at infotec.InfoTec.estoqueMouseClicked(InfoTec.java:243)
at infotec.InfoTec.access$600(InfoTec.java:21)
at infotec.InfoTec$7.mouseClicked(InfoTec.java:150)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.Component.processMouseEvent(Component.java:6536)
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:4534)
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)


segue o código das classes em questão

package Conexoes;

import java.sql.*;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class conex {

    private String DRIVER = "com.mysql.jdbc.Driver";//responsável por identificar o serviço de banco de dados
    private String caminho = "jdbc:mysql://localhost:3306/infotec";// responsável por setar o local do banco de dados
    private String usuario = "root";
    private String senha = "";
    static public Statement sts = null;// responsável por preparar e realizar pesquisas no banco de dados
    static public ResultSet rs = null;//responsável por armazenar o resultado de uma pesquisa passada para um statemant
    static public Connection conexao = null;//responsável por realizar a conexão com o banco de dados

    public void conexao() {//responsável por realizar a conexão com o banco de dados

        try {//tentativa inicial
            System.setProperty("jdbc.Drivers", DRIVER);//seta a propriedade do driver da conexao
            conexao = DriverManager.getConnection(caminho, usuario, senha);// realiza a conexão com o banco de dados
            //JOptionPane.showMessageDialog(null, "Conectado com sucesso!!");// imprimi uma caixa de mensagens
        } catch (SQLException ex) {//excessão
            JOptionPane.showMessageDialog(null, "Erro na conexão!!\\n Erro: " + ex.getMessage());
        }
    }
    public  void desconect (){//metódo para fechar a conexão com o banco de dados
        
        try {
            conexao.close();//fecha a conexão
            JOptionPane.showMessageDialog(null, "Desconectado com sucesso!!!" );
        } catch (SQLException ex) {
         JOptionPane.showMessageDialog(null, "Erro ao desconectar!!\\n Erro: " + ex.getMessage());
        
        }
    }
    public void executaSql(String sql){
        try {
            sts = null; 
            rs = null;
            conexao = null; 
            sts = conexao.createStatement(rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
            rs =sts.executeQuery(sql);
             
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null, "Erro no executasql!!\\n Erro: " + ex.getMessage());
        }
        
        
    }
   
    
}







Ruan Lima

Ruan Lima

Curtidas 0

Melhor post

Juliano

Juliano

15/12/2017

Pergunta: você já tinha conseguido se conectar anteriormente com o banco de dados?

As credencias de acesso ao banco (user/senha) estão corretos?

Arquivo(.jar) de conexão com mysql está mapeado com sua conexão?

Dica: Dá uma lida nesse material também: https://www.devmedia.com.br/java-lang-nullpointerexception-dica/28677
GOSTEI 1

Mais Respostas

Edilson Ricci

Edilson Ricci

12/11/2017

Use essa classe para conexão ao MYSQL.


//Classes necessárias para uso de Banco de dados //

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;



//Início da classe de conexão//

public class ConexaoMYSQL {

public static String status = "Não conectou...";

//Método Construtor da Classe//

public ConexaoMYSQL() {

}



//Método de Conexão//

public static java.sql.Connection getConexaoMySQL() {

Connection connection = null; //atributo do tipo Connection



try {

// Carregando o JDBC Driver padrão

String driverName = "com.mysql.jdbc.Driver";

Class.forName(driverName);



// Configurando a nossa conexão com um banco de dados//

String serverName = "localhost"; //caminho do servidor do BD

String mydatabase = "biometria"; //nome do seu banco de dados

String url = "jdbc:mysql://" + serverName + "/" + mydatabase;

String username = "root"; //nome de um usuário de seu BD

String password = "123456"; //sua senha de acesso

connection = DriverManager.getConnection(url, username, password);



//Testa sua conexão//

if (connection != null) {

status = ("STATUS--->Conectado com sucesso!");

} else {

status = ("STATUS--->Não foi possivel realizar conexão");

}



return connection;



} catch (ClassNotFoundException e) { //Driver não encontrado



System.out.println("O driver expecificado nao foi encontrado.");

return null;

} catch (SQLException e) {

//Não conseguindo se conectar ao banco

System.out.println("Nao foi possivel conectar ao Banco de Dados.");

return null;

}

}


//Método que retorna o status da sua conexão//

public static String statusConection() {

return status;

}


//Método que fecha sua conexão//

public static boolean FecharConexao() {

try {

ConexaoMYSQL.getConexaoMySQL().close();

return true;

} catch (SQLException e) {

return false;

}
}


//Método que reinicia sua conexão//

public static java.sql.Connection ReiniciarConexao() {

FecharConexao();
return ConexaoMYSQL.getConexaoMySQL();

}

}

GOSTEI 0
POSTAR