1

Estoy intentando crear un programa simple en Java que pueda registrar, consultar y modificar datos de una BD en MySQL. El programa en si me compila bien, pero al momento de enviar el Query, me salta este error: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

Código de la conexion:

import java.sql.*;

public class ConexionBD {
Connection con;

public Connection conexion(){
   try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysqldb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC://localhost/notas","root","Marioloco456");
        System.out.println("Conexion exitosa");
   } catch (Exception e){
       System.out.println(e.getMessage());
   }return con;


}

Statement createStatement(){
    throw new UnsupportedOperationException("No soportado");
}

}

Código del boton:

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   try{
        PreparedStatement pps = cn.prepareStatement("INSERT INTO periodo1(corte1,corte2,bimestral) VALUE(?,?,?,?)");
        pps.setString(1, corte1.getText());
        pps.setString(2, corte2.getText());
        pps.setString(3, bimestral.getText());
        pps.executeUpdate();
        JOptionPane.showMessageDialog(null,"Datos guardados");
   } catch (SQLException ex) {
        Logger.getLogger(PantallaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
    }

}                         
  • Cristian para futuras preguntas considera dar más detalles del error, como la línea problemática, que suele venir indicada cerca de donde dice `Caused by...` en la traza del error. Por lo pronto, tu consulta está mal escrita: tiene un marcador de más y dice `VALUE`, corregida quedaría así: `INSERT INTO periodo1(corte1,corte2,bimestral) VALUES(?,?,?)` pero esto no es motivo para un NPE, debe haber otro problema en tu código. Por ejemplo, la conexión se llama `con` pero en la preparación del statement tú usas `cn`... puede que ese sea el motivo del NPE. – A. Cedano Jul 15 '18 at 01:51

1 Answers1

0

Tienes 4 parámetros en la consulta "(?,?,?,?)" cuando solo estás insertando 3 elementos "corte1.corte2,bimestral"

Andres Henriquez
  • 176
  • 1
  • 15