Olá, estou tentando fazer um menu simples de login, e ocorreu o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Como já procurei em vários tópicos e vi que esse erro ocorre quando se tenta acessar variáveis, métodos ou atributos que não foram instanciados, acho que eu não estou sabendo instanciar o ResultSet corretamente. Já consegui logar no banco e fazer um insert.
Bom, segue o código, e desde já agradeço por qualquer ajuda ;D
Aqui, o ConnectionFactory (que acessa o banco):
package projeto1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Vitor
*/
public class ConnectionFactory {
public Connection con;
public Statement stmt;
public ResultSet rs; // talvez o erro seja aqui, não sei XD
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String driver = "oracle.jdbc.OracleDriver";
String login = "vitor";
String password = "vgg123";
public void abrirconexao() {
try {
Class.forName(driver);
con = DriverManager.getConnection(url,login,password);
stmt = con.createStatement();
} catch(SQLException e) { // trata os erros SQL
throw new RuntimeException(e);
} catch(ClassNotFoundException e) { // trata erros de conexão
throw new RuntimeException(e);
}
}
}
Aqui é onde estou com problemas
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
ConnectionFactory fac = new ConnectionFactory();
fac.abrirconexao();
fac.stmt = fac.con.createStatement();
String sql = "select * from Simulado";
fac.rs.first(); // ou pode ser aqui também, o erro
if(txtlogin.getText().equals(fac.rs.getString("login")) && txtsenha.getText().equals(fac.rs.getString("senha")) ) {
JOptionPane.showMessageDialog(this, "Acesso Permitido!!");
} else {
JOptionPane.showMessageDialog(this, "Access Denied!!");
}
} catch(SQLException e) {
JOptionPane.showMessageDialog(this, "Erro Cmdo SQL " + e.getMessage());
}
}