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

Ayuda con paso de parametros en java

tengo este problema se supone que al yamar el metodo insertaAlumno me mandaria sus parametrso en null y se supone que lo deve mostrar asi
String rptaRegistro = modeloAlumno.insertarAlumno(matricula, nombre, apellido_p, pellido_m, sexo, fechaNac, direcion, e_mail);

pero me lo manda asi
String rptaRegistro = modeloAlumno.insertarAlumno(null, null, null, null, null, null, null, null);

estoy usando MVC

saludos:

esta es la clase del paquete controlador

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import modelo.*;
import vista.*;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Wootsbot
 */
public class ControladorAlumno implements ActionListener{

    JFAlumno2 vistaAlumno = new JFAlumno2();
    AlumnoDAO modeloAlumno = new AlumnoDAO();

    public ControladorAlumno(JFAlumno2 vistaAlumno, AlumnoDAO modeloAlumno) {
        this.modeloAlumno = modeloAlumno;
        vistaAlumno.getBtnRegistrar().addActionListener(this);     
        vistaAlumno.getBtnEliminar().addActionListener(this);
        vistaAlumno.getBtnActualizar().addActionListener(this);
        vistaAlumno.getBtnNuevo().addActionListener(this);

    }

    public void inicializarAlum(){

    }
     public void llenarTabla(JTable tablaD){
         DefaultTableModel  modeloT = new DefaultTableModel();
         tablaD.setModel(modeloT);

         modeloT.addColumn("Matricula");
         modeloT.addColumn("Nombre");
         modeloT.addColumn("Apellido Paterno");
         modeloT.addColumn("Apellido Materno");
         modeloT.addColumn("Sexo");
         modeloT.addColumn("Fecha de Nacimiento");
         modeloT.addColumn("Direccion");
         modeloT.addColumn("Correo");

         Object[] columna = new Object[8];

         int numeroRegistros = modeloAlumno.listAlumno().size();

         for (int i = 0; i < numeroRegistros; i++) {
             columna[0] = modeloAlumno.listAlumno().get(i).getMatricula();
             columna[1] = modeloAlumno.listAlumno().get(i).getNombre();
             columna[2] = modeloAlumno.listAlumno().get(i).getApellido_p();
             columna[3] = modeloAlumno.listAlumno().get(i).getApellido_m();
             columna[4] = modeloAlumno.listAlumno().get(i).getSexo();
             columna[5] = modeloAlumno.listAlumno().get(i).getFechaNac();
             columna[6] = modeloAlumno.listAlumno().get(i).getDireccion();
             columna[7] = modeloAlumno.listAlumno().get(i).getE_mail();
             modeloT.addRow(columna);
         }
     }

    public void actionPerformed(ActionEvent e){
        if(e.getSource() == vistaAlumno.getBtnRegistrar()){
            vistaAlumno.getTxtMatricula().getText();
            vistaAlumno.getTxtNombre().getText();
            vistaAlumno.getTxtApellidoP().getText();
            vistaAlumno.getTxtApellidoM().getText();
            vistaAlumno.getTxtSexo().getText();            
            vistaAlumno.getTxtDireccion().getText();
            vistaAlumno.getTxtEmail().getText();
            SimpleDateFormat formatoFecha = new SimpleDateFormat ("YYYY/MM/dd");
            formatoFecha.format(vistaAlumno.getJdFechaNac().getDate());
            //vistaAlumno.getJdFechaNac().getDate();

            //String rptaRegistro = modeloAlumno.insertarAlumno(matricula, nombre, apellido_p, apellido_m, sexo, fechaNac,direccion,e_mail);
            // String rptaRegistro = modeloAlumno
           // ( matricula, nombre, apellido_p, pellido_m, sexo, fechaNac,direcion,e_mail); (matricula, nombre, apellido_p, pellido_m, sexo, fechaNac, direcion, e_mail);
           String rptaRegistro = modeloAlumno.insertarAlumno(matricula, nombre, apellido_p, pellido_m, sexo, fechaNac, direcion, e_mail);
            if(rptaRegistro!=null){
                JOptionPane.showMessageDialog(null, rptaRegistro);
               // LimpiarCampos();
            }else{
                JOptionPane.showMessageDialog(null, "Registro Erroneo.");
            }
        }if(e.getSource() == vistaAlumno.getBtnNuevo()){
            llenarTabla(vistaAlumno.getJtDataosAlumno());
        }
    }

}

en el paquete modelo tengo esta clae

package modelo;

import java.sql.*;
import java.util.ArrayList;

public class AlumnoDAO {

    Conexion conexion;

    public AlumnoDAO() {

        conexion = new Conexion();

    }

    public String insertarAlumno(String matricula, String nombre, String apellido_p,String apellido_m, String sexo, String fechaNac,String direcion, String e_mail)
    {
        String rptaRegistro = null;
        try {
            Connection accesoDB = conexion.getConexion();
            CallableStatement cs = accesoDB.prepareCall("INSERT INTO apartado (matricula,nombre,apellido_p,apellido_m,sexo,fechaNac,direcion,e-mail) VALUES (?,?,?,?,?,?,?,?)");
            cs.setString(1, matricula);
            cs.setString(2, nombre);
            cs.setString(3, apellido_p);
            cs.setString(4, apellido_m);
            cs.setString(5, sexo);
            cs.setString(6, fechaNac);
            cs.setString(7, direcion);
            cs.setString(8, e_mail);

            int numFafectas = cs.executeUpdate();

            if (numFafectas > 0) {
                rptaRegistro = "Sea Registrado un nuevo Alumno";
            }

        } catch (Exception e) {
        }

        return rptaRegistro;

    }

    public ArrayList<Alumno> listAlumno(){
        ArrayList listAlumno = new ArrayList();
        Alumno alumno;
        try {
            Connection acceDB = conexion.getConexion();
            PreparedStatement ps = acceDB.prepareStatement("SELECT * FROM alumno");
            ResultSet rs = ps.executeQuery();
            while(rs.next()){
                alumno = new Alumno();
                alumno.setMatricula(rs.getString(1));
                alumno.setNombre(rs.getString(2));
                alumno.setApellido_p(rs.getString(3));
                alumno.setApellido_m(rs.getString(4));
                alumno.setSexo(rs.getString(5));
                alumno.setFechaNac(rs.getString(6));
                alumno.setDireccion(rs.getString(7));
                alumno.setE_mail(rs.getString(8));
                listAlumno.add(alumno);

            }

        } catch (Exception e) {
        }

        return listAlumno;
    }

}

0voto

Leonardo-Tadei comentado

Al llamar a insertarAlumno() estás pasando varias variables como parámetos: matricula, nombre, apellido_p, pellido_m, sexo, fechaNac, direcion, e_mail.

Dónde se asignan los valores a estas variables???

0voto

codeando comentado

si bien entendi estan en la clase Alumno del paquete modelo

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.sql.Date;

/**
 *
 * @author Wootsbot
 */
public class Alumno {

    String matricula;
    String nombre;
    String apellido_p;
    String apellido_m;
    String sexo;
    String fechaNac;
    String direccion;
    String e_mail;

    public Alumno() {

        matricula = "";
        nombre = "";
        apellido_p = "";
        apellido_m = "";
        sexo = "";
        fechaNac = "";
        direccion = "";
        e_mail = "";
    }

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellido_p() {
        return apellido_p;
    }

    public void setApellido_p(String apellido_p) {
        this.apellido_p = apellido_p;
    }

    public String getApellido_m() {
        return apellido_m;
    }

    public void setApellido_m(String apellido_m) {
        this.apellido_m = apellido_m;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getFechaNac() {
        return fechaNac;
    }

    public void setFechaNac(String fechaNac) {
        this.fechaNac = fechaNac;
    }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public String getE_mail() {
        return e_mail;
    }

    public void setE_mail(String e_mail) {
        this.e_mail = e_mail;
    }

}

1voto

Leonardo-Tadei comentado

No me expliqué bien. Lo que te estaba preguntando a dónde se le asigna algún valor a las variables en

public void actionPerformed(ActionEvent e){
...

que es en dónde se hace la llamada a

String rptaRegistro = modeloAlumno.insertarAlumno(matricula, nombre, apellido_p, pellido_m, sexo, fechaNac, direcion, e_mail);

No veo la asignación previa de las 8 variables que pasás como parámetro...

0voto

codeando comentado

ok ok ya te entendi deecho me pase toda la noche y logre sulucinarlo....
muchas gracias tus observaciones me inpiraron a encontrar el probelma

0voto

Peter comentado

Por favor publica una respuesta con la solución exacta y marcala como como correcta. Así se da por solucionada la duda y le sirve a otros usuarios.

Gracias.

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