Hola a todos!
Antes que todo debo aclarar que hace poco empecé con JAVA y JFrame para la interfaz.
Ahora el problema es el siguiente, quiero que al presionar un botón se ejecute una consulta a la BD (MYSQL), pero siempre me aparece el mismo error:
Código:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at prueba3.conexion.crearSentencia(conexion.java:44)
at prueba3.usuario.consultaPrueba(usuario.java:25)
at prueba3.boton.jButton1ActionPerformed(boton.java:68)
Para esto tengo 2 clases y un JFrame Form, los cuales contienen el siguiente código:
Clase conexion:
Código:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class conexion {
private Connection conn;
public conexion(){
registrar();
obtenerConexion();
}
private String registrar(){
try{
Class.forName("com.mysql.jdbc.Driver");
return "exito";
}catch(ClassNotFoundException e){
return "no registrado";
}
}
private String obtenerConexion(){
try{
conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba","root","");
return "exito";
}catch(SQLException e){
return "no conectado";
}
}
public Statement crearSentencia(){
try{
return conn.createStatement();
}catch(SQLException e){
return null;
}
}
}
Clase usuario:
Código:
import java.sql.ResultSet;
import java.sql.SQLException;
public class usuario {
private conexion c;
public usuario(){
c = new conexion();
}
public ResultSet consultaPrueba(){
try{
ResultSet respuesta = c.crearSentencia().executeQuery("select * from usuario");
return respuesta;
}catch(SQLException e){
return null;
}
}
}
JFrame Form acción del botón:
Código:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
usuario usu = new usuario();
ResultSet rs = usu.consultaPrueba();
try{
while(rs.next()){
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("clave"));
}
}catch(SQLException e){
System.out.println(e.getMessage());
}
}
¿Qué es lo que estoy haciendo mal?
Saludos y cualquier ayuda será bienvenida, gracias de antemano.