有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Mysql空指针异常

我试图使用PreparedStatement将数据馈送到MySQL表中,问题是当数据到达pst.setInt行时,我会得到一个NullPointerException

    Conexion con = new Conexion();
    Connection reg = con.conexion();
    Integer ced;
    boolean f = false;        

    String nom, ape, email, dir, tel, codtel, telefono;
    Date fechareg = new Date();
    String sql;

    ced = Integer.getInteger(CedulaField.getText());
    nom = NombreField.getText();
    ape = ApellidoField.getText();
    email = emailField.getText();
    dir = dirArea.getText();
    tel = TelField.getText();
    codtel = (String) TelBox.getSelectedItem();
    telefono = codtel + tel;        

    tel = TelField.getText();
    sql = "INSERT INTO estudiantes (cedula, nombre, apellido, email, direccion, telefono, fecha_registro) VALUES (?,?,?,?,?,?,?)";
    try {
        PreparedStatement pst = reg.prepareStatement(sql);
        pst.setInt(1,ced);
        pst.setString(2,nom);
        pst.setString(3,ape);
        pst.setString(4,email);
        pst.setString(5,dir);
        pst.setString(6,telefono);
        pst.setDate(7, (java.sql.Date) fechareg);

        //if (f == false){
            int n = pst.executeUpdate();
            if (n > 0){
                JOptionPane.showMessageDialog(null,"registrado con exito");
            }
        //}
    } catch (SQLException ex) {
        Logger.getLogger(Ingreso_Datos.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null,"Error al registrar");
    }

这是我的学生桌

cedula          | int(11) unsigned zerofill | NO | PRI | NULL
nombre          | varchar(50)               | NO |     | NULL
apellido        | varchar(50)               | NO |     | NULL 
email           | varchar(100)              | NO |     | NULL
direccion       | varchar(100)              | NO |     | NULL 
telefono        | varchar(11)               | NO |     | NULL 
fecha_registro  | timestamp                 | NO |     | CURRENT_TIMESTAMP 

如果我给ced一个值,为什么我得到NullPointerExceptioncedula是一个id,它有一个对每个注册公民来说都是唯一的数字,所以我计划将它用作主键。我做错了什么

David Maust指出了整数之间的区别。getInteger和Integer。parseInt这就是问题所在


共 (1) 个答案