-1

introducir la descripción de la imagen aquíEstoy haciendo un proyecto de registro tipo CRUD cpn base de datos en mysql, me he apoyado de diferentes videos, intento realizar un registro. Tengo un JTable en Un JFrame, al dar click en un menú este me genera un JDialog solicitando la información como id, nombre, apellido. este se guarda en la base de datos y se muestra en un JTable en el JFrame inicial, se registra de maner correcta, pero tengo un metodo llamado "llenarTabla" este me sirve para agregar los valores de la BD a la tabla, al momento de hacer el registro de un usuario lo hace correctamente pero no se me carga el valor a la tabla y ahi es cuando me lanza dicho error, tengo que reiniciar el software para que el usuario que registre se añada a la tabla. estos son los codigos que utilizo: PD: EN EL FONDO PUEDEN EVIDENCIAR EL JDIALOG DE REGISTRO Y DEBVAJO LA TABLA DE LOS VALORES QUE SE INGRESAN EN ESTE.

public void llenar_tabla(String valor){
        
          String[] titulos= {"ID", "Identificacion", "Nombres", "Apellidos", "Curso", "Estado"};
          String[] registros= new String[6];
          String SQL= "SELECT * FROM estudiantes WHERE CONCAT (Identificacion, ' ', Nombres, ' ', Apellidos) LIKE '%"+valor+"%'";
          modelo= new DefaultTableModel(null, titulos);
          
          Conectar cc= new Conectar();
          Connection cn= cc.conexion();
          
          try {
              
          Statement st= cn.createStatement();
          ResultSet rs= st.executeQuery(SQL);
          
            while(rs.next()){
                registros[0]= rs.getString("ID");
                registros[1]= rs.getString("Identificacion");
                registros[2]= rs.getString("Nombres");
                registros[3]= rs.getString("Apellidos");
                registros[4]= rs.getString("Curso");
                registros[5]= rs.getString("Estado");
                modelo.addRow(registros);
            }
          
            tabla_es.setModel(modelo);
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, e);
        }
    }

String sql= "";
        Conectar cc= new Conectar();
        Connection cn= cc.conexion();
        sql= "INSERT INTO estudiantes (Identificacion, Nombres, Apellidos, Curso, Estado) VALUES(?,?,?,?,?)";
        try{
           
            PreparedStatement pst= cn.prepareStatement(sql);
            pst.setString(1, txt_Ide.getText());
            pst.setString(2, txt_Nom.getText());
            pst.setString(3, txt_Ape.getText());
            pst.setString(4, txt_Cur.getText());
            pst.setString(5, combo_es.getSelectedItem().toString());
            
            int n= pst.executeUpdate();
            
            if(n > 0){
                JOptionPane.showMessageDialog(null, "Registro completado!");
                x.llenar_tabla("");
                LimpiarCajas();
            } else {
                JOptionPane.showMessageDialog(null, "Registro fallido!");
                LimpiarCajas();
            }
            con.close();
       
        }catch(Exception e){
            System.out.println(e);
        }
  • 1
    Por favor lee la siguiente página https://es.stackoverflow.com/help/how-to-ask. Si sigues las recomendaciones evitarás que tus preguntas sean cerradas. – Mateo May 10 '20 at 02:09
  • Porfavor edita tu pregunta y pon el error completo que te pone, (el de null pointer exception), puesto que con el error sabremos exactamente en que linea y componente o variable se origino el NullPointerException. – Riven May 10 '20 at 02:18
  • Es que el error es solo esa linea java.lang.NullPointerException, no me dice donde está el error, yo digo que el error deberia estar en la linea del segundo codigo ya que el me registra a el usuario bien, aún asi no se actualiza la tabla y no me muestra ese nuevo registro que ingreso. es un error un poco raro – Anthony Dominguez May 10 '20 at 02:25
  • En el `catch`, añade `e.printStackTrace()` para que te imprima la pila de llamadas por consola – Barrendeitor May 10 '20 at 03:13

1 Answers1

0

En términos generales, la excepción NullPointerException es una excepción lanzada por Java cuando un programa intenta acceder a un objeto de memoria que no fue instanciado (o más bien, inicializado) hasta el momento de su llamada. ¿Que quiere decir eso? El objeto sigue siendo nulo, no tiene un valor definido.

Causas para generar la excepción

Este tipo de excepción se detecta cuando el programa intenta, en tiempo de ejecución, hacer algo como:

  • -Acceda a métodos de objetos que son nulos.
  • -Cambiar o ver atributos de objetos nulos.
  • -Comprobación de la longitud de una matriz que aún es nula
  • -Modificar campos en una matriz nula
  • -Lanza una excepción como si fuera arrojable.
Daxtrox
  • 391
  • 1
  • 3
  • 17