Autor Tema: Excepción al querer conectar con MySQL desde Netbeans  (Leído 3257 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Excepción al querer conectar con MySQL desde Netbeans
« : junio 26, 2011, 09:54:16 pm »
Tengo un pequeño formulario y una base de datos creada pero cuando quiero insertar en la base de datos me muestra el siguiente mensaje de Exception:

Código: [Seleccionar]
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException
        at Class.Conexion.ejecutarSQL(Conexion.java:63)
        at Forms.Formppal.jButton1ActionPerformed(Formppal.java:151)
        at Forms.Formppal.access$100(Formppal.java:21)
        at Forms.Formppal$2.actionPerformed(Formppal.java:74)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

"Conexion.java:63" hace referencia a la línea "Statement sentencia = conexion.createStatement();" del siguiente código:

Código: [Seleccionar]
public boolean ejecutarSQL(String sql)
    {
        try {
            Statement sentencia = conexion.createStatement();
            sentencia.executeUpdate(sql);
        } catch (SQLException ex) {
            ex.printStackTrace();
            return false;
        }
       
        return true;
    }

Y el código que se ejecuta antes de darse esta excepción, y que está dentro de un botón "Insertar" es el siguiente:

Código: [Seleccionar]
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        String codigo = jTextField1.getText();
        String nombre = jTextField2.getText();
        String apellido = jTextField3.getText();
        String edad = jTextField4.getText();
        String sql = "insert into datos (codigo, nombre, apellido, edad) " +
                "values ("+codigo+", '"+nombre+"', '"+apellido+"', "+edad+");";
        conexion.ejecutarSQL(sql);
    }

Y, si tiene que ver, el código para crear la conexión es el siguiente:

Código: [Seleccionar]
public boolean crearConexion()
    {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/pruebadb","root","admin");
        } catch (SQLException ex) {
            ex.printStackTrace();
            return false;
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            return false;
        }
       
        return true;
    }

¿Será que me ayudan por favor a entender porque me arroja esa excepción y no me ejecuta la instrucción SQL? ¡Gracias!

Desconectado JaiMe

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 1485
  • λ | h+
Re: Excepción al querer conectar con MySQL desde Netbeans
« Respuesta #1 : junio 26, 2011, 10:17:53 pm »
Empeza cambiando esto

Código: [Seleccionar]
"values ("+codigo+", '"+nombre+"', '"+apellido+"', "+edad+");";
a esto

Código: [Seleccionar]
"values ("+codigo+", "+nombre+", "+apellido+", "+edad+");";
"Unless you try to do something beyond what you have already mastered, you will never grow."
― Ralph Waldo Emerson

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Excepción al querer conectar con MySQL desde Netbeans
« Respuesta #2 : junio 26, 2011, 10:18:41 pm »
Y en que momento ejecutas el metodo crearConexion??? Porque mientras no lo ejecutes tu objeto con nombre conexion seguira siendo null y es por eso que te arroja un NullPointerException, antes de utilizar conexion, ejecuta crearConexion().

Desconectado gilanrodas

  • Sv Full Member
  • *
  • Mensajes: 527
  • What Would Jesus Do?
Re: Excepción al querer conectar con MySQL desde Netbeans
« Respuesta #3 : junio 26, 2011, 10:42:34 pm »
Y en que momento ejecutas el metodo crearConexion??? Porque mientras no lo ejecutes tu objeto con nombre conexion seguira siendo null y es por eso que te arroja un NullPointerException, antes de utilizar conexion, ejecuta crearConexion().

Jajajaj. Me mató de la risa agregar esa línea y que me funcionara. ¡Qué pena! Jajaja. ¡Gracias, viejo! Pequeñísimo detalle el que se me había quedado.

Empeza cambiando esto

Código: [Seleccionar]
"values ("+codigo+", '"+nombre+"', '"+apellido+"', "+edad+");";
a esto

Código: [Seleccionar]
"values ("+codigo+", "+nombre+", "+apellido+", "+edad+");";

Fijate que no me ha hecho clavo esto ahorita, a ver si no tengo problemas con esto más tarde. Lo tendré en cuenta. El "insert" me lo ejecutó perfectamente. ¡Gracias!

Creo que los seguiré molestando despuesito, amigos.

Desconectado hkadejo

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 3345
Re: Excepción al querer conectar con MySQL desde Netbeans
« Respuesta #4 : junio 26, 2011, 10:46:12 pm »
Jajajaj. Me mató de la risa agregar esa línea y que me funcionara. ¡Qué pena! Jajaja. ¡Gracias, viejo! Pequeñísimo detalle el que se me había quedado.

No hay problema a todos nos pasa, mas si estas a estas horas de la noche codificando  :D Que bueno haberte ayudado  :thumbsup: