entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Error NullPointer al hacer una consulta SQL

Buenas noches compañeros, me ha surgido un problema que no entiendo porque se produce y es que, al conectar todo va bien y muy correcto, pero a la hora de, cuando yo pulso a un botón y le meto unos datos en un JTextfield, se realiza una consulta desde otra clase que me tiene que devolver un JOptionPane con un mensaje de error personalizado...el problema es que me salta este error.

Pongo el código:

btnBuscar = new JButton("BUSCAR");
btnBuscar.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String MP = codigoMP.getText().toString();
        System.out.println(MP);
        try {
            objConex.buscarCMP(MP);
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }
});
btnBuscar.setBounds(233, 39, 91, 23);
getContentPane().add(btnBuscar);

El error me da justo donde poner "objConex.buscarCMP(MP);

El tema es que, si en el main, le pongo en vez que llame a la clase desde donde voy a mostrar un panel para que este me envíe la consulta, le pongo esto:

    LISTAR = new JButton("VER PIEZAS EN STOCK");
    LISTAR.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            String codMP = JOptionPane.showInputDialog("Ingrese el id");
            try {
                objConex.buscarCMP(codMP);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
    LISTAR.setBounds(10, 11, 164, 42);
    getContentPane().add(LISTAR);

Me funciona sin problemas...y no lo entiendo...

Y luego en esta parte también:

public ResultSet buscarCMP(String mp) throws SQLException {
    try {
        stm = conex.createStatement();
        String cadSQL = "";
        System.out.println(mp);
        cadSQL = "SELECT * FROM MATERIAPRIMA WHERE CODMP = '" + mp + "'";
        rs = stm.executeQuery(cadSQL);
        if (!rs.next()) {
            JOptionPane.showMessageDialog(null, "No existe tal registro");
        } else {
            return rs;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        //stm.close();
    }
    return null;
} 

El error me lo dá justo donde pone "stm = conex.createStatement();"

¿Alguna idea?

1 Respuesta

0voto

jonatancastro1 Puntos3110

Podrías colocar la clase completa, para ver si puede ser un problema de referencias.

0voto

Yesod comentado

Ya me han solucionado el problema en este foro: http://www.forosdelweb.com/f45/error-nullpointer-hacer-consulta-sql-oracle-1109037/

Gracias por tu interés amigo :)

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta