Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/05/2012, 14:00
parisargel
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: jsp y servlet manda null

Bueno he aqui el codigo de mi DAOImp donde llamo al statement el procedimiento llamado VALIDA_USUARIO es el que me retorna los nulos.

Código PHP:
Ver original
  1. public class UsuarioDAOImp implements UsuarioDAO {
  2.  
  3.     @Override
  4.     public void insertaUsuario (Usuario usuario) throws SQLException{
  5.         Connection conexion = ConexionBD.getConexion();
  6.         CallableStatement cstmt = null;
  7.         String sql = "{call INSERTA_USUARIO(?,?,?,?,?,?,?,?,?,?,?,?,?)}";
  8.        
  9.         try {
  10.             cstmt = conexion.prepareCall(sql);
  11.            
  12.             cstmt.registerOutParameter(1, Types.INTEGER);
  13.             cstmt.setString(2, usuario.getNombre());
  14.             cstmt.setString(3, usuario.getNcontrol() );
  15.             cstmt.setString(4, usuario.getEmail());
  16.             cstmt.setString(5, usuario.getpwd());
  17.             cstmt.setString(6, usuario.getMateria1());
  18.             cstmt.setString(7, usuario.getMateria2());
  19.             cstmt.setString(8, usuario.getMateria3());
  20.             cstmt.setString(9, usuario.getMateria4());
  21.             cstmt.setString(10, usuario.getMateria5());
  22.             cstmt.setString(11, usuario.getMateria6());
  23.             cstmt.setString(12, usuario.getMateria7());
  24.             cstmt.setString(13, usuario.getMateria8());
  25.            
  26.             cstmt.execute();
  27.            
  28.             int idc = cstmt.getInt(1);
  29.             usuario.setIdUsuario(idc);
  30.            
  31.            
  32.         }finally{
  33.             if (cstmt != null) cstmt.close();
  34.             if (conexion != null )conexion.close();
  35.         }
  36.     }
  37.  
  38.     @Override
  39.     public void validaUsuario (Usuario usuario) throws SQLException{
  40.         Connection conexion = ConexionBD.getConexion();
  41.         CallableStatement cstmt = null;
  42.         String sql ="{call VALIDA_USUARIO(?,?,?,?,?,?,?,?,?,?,?,?)}";
  43.        
  44.         try {
  45.            
  46.             cstmt = conexion.prepareCall(sql);
  47.            
  48.             cstmt.setString(1, usuario.getEmail());
  49.             cstmt.setString(2, usuario.getpwd());
  50.             cstmt.registerOutParameter(3, Types.INTEGER);
  51.             cstmt.registerOutParameter(4, Types.VARCHAR);
  52.             cstmt.registerOutParameter(5, Types.VARCHAR);
  53.             cstmt.registerOutParameter(6, Types.VARCHAR);
  54.             cstmt.registerOutParameter(7, Types.VARCHAR);
  55.             cstmt.registerOutParameter(8, Types.VARCHAR);
  56.             cstmt.registerOutParameter(9, Types.VARCHAR);
  57.             cstmt.registerOutParameter(10, Types.VARCHAR);
  58.             cstmt.registerOutParameter(11, Types.VARCHAR);
  59.             cstmt.registerOutParameter(12, Types.VARCHAR);
  60.             cstmt.execute();
  61.            
  62.             int idu = cstmt.getInt(3);
  63.             usuario.setIdUsuario(idu);
  64.             usuario.setNombre(cstmt.getString(4));
  65.             usuario.setMateria1(cstmt.getString(5));
  66.             usuario.setMateria2(cstmt.getString(6));
  67.             usuario.setMateria3(cstmt.getString(7));
  68.             usuario.setMateria4(cstmt.getString(8));
  69.             usuario.setMateria5(cstmt.getString(9));
  70.             usuario.setMateria6(cstmt.getString(10));
  71.             usuario.setMateria7(cstmt.getString(11));
  72.             usuario.setMateria8(cstmt.getString(12));
  73.         }finally{
  74.             if (cstmt != null) cstmt.close();
  75.             if (conexion != null) conexion.close();
  76.         }
  77.     }
  78.  
  79.     public static void main (String[] args){
  80.         UsuarioDAO udao = new UsuarioDAOImp();
  81.         Usuario usuario = new Usuario ("marcos", "12345678", "[email protected]", "12345678", "Matematicas","Español","Quimica","Fisica","Biologia","Ingles","Civismo","Calculo de varias variables");
  82.        
  83.     try {
  84.         udao.insertaUsuario(usuario);
  85.         if (usuario.getIdUsuario()== -1)
  86.             System.out.println("El Usuario no se inserto");
  87.         else
  88.             System.out.println("El Usuario se inserto");
  89.    
  90.     } catch (SQLException e) {
  91.         e.printStackTrace();
  92.        
  93.     }
  94.    
  95.    
  96.     }
  97.    
  98. }

y si el statement fuera el del problema como en el caso que me mencionas Fuzzylog, todos los argumentos regresarían nulos no????
y un agradecimiento a todos por la ayuda prestada hasta el momento :)