Estou com um problema no meu codigo poderiam me ajuda?
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
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
Curtidas 0
Melhor post
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
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
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();
}
}
//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