comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Procedimiento almacenado y update desde java!!

  • 2 Respuestas
  • 1222 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jestat

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Julio 28, 2015, 12:55:38 am »
Buenas tardes/dias/noches haha! vengo aqui con una pregunta, y bueno antes que nada gracias! de antemano por la ayuda! o consejos y pues acudo aqui porque llevo ya 2 dias con esto, leyendo y leyendo y no encuentro cual es la razo del porque no funciona..

La cosa esta asi:
tengo un procedimiento almacenado en MYSQL (si funciona el procedimiento, lo he corrido desde workbench el procedimiento y si me actualiza los datos) buueno, entonces intento con este procedimiento almacenado, desde java llamarlo para ejecutarlo solo que, pues no funciona.

en realidad es muy simple lo que hace el procedimiento almacenado, solamente actualiza algunas tablas, aqui les dejo el codigo (ojo, estoy 100 % seguro que el proicedimiento funciona pero solo por si lo quieren ver aqui esta )
Código: MySQL
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `paModificarProveedor`(in idProv int,in nomProv nvarchar(70), in agentContactoVar nvarchar(75), in descripcionVar nvarchar(1000), in telefonoVar nvarchar(25), in emailvar nvarchar(50), in RFCvar nvarchar(15), in numeroCalle nvarchar(6), in numCalleInterior nvarchar(6), in calleVar nvarchar(45), in coloniaVar nvarchar(45), in ciudadVar nvarchar(45), in estadoVar nvarchar(45), in paisVar nvarchar(45), in cp nvarchar(10))
  2.        
  3.         update proveedores      
  4.         set
  5.                 nombre = nomProv,
  6.         agentContacto = agentContactoVar,
  7.         descripcion = descripcionVar,
  8.         rfc = RFCvar
  9.         where idProveedor = idProv;
  10.                                        
  11.         update proveedores_emails
  12.         set email = emailvar
  13.         where Proveedor_idProveedor = idProv;
  14.                                                
  15.                        
  16.         update proveedores_direcc      
  17.     set
  18.                 numeroExt = numeroCalle,
  19.         numeroInte = numCalleInterior,
  20.         calle = calleVar,
  21.         colonia = coloniaVar,
  22.         ciudad = ciudadVar,
  23.         estado = estadoVar,
  24.         pais = paisVar,
  25.         codigoPostal = cp
  26.         where idProveedor = idProv;
  27.                
  28.         update proveedores_tel  
  29.     set telefono = telefonoVar
  30.         where Proveedor_idProveedor = idProv;    
  31.  

y ahora, bueno solo para dato en general, ya utilize otros procedimientos almacenados (uno para insertar y otro para recuperar datos) y esos si me funcionan!! x.x es por eso que se me hace extra;o pero bueno.. continuando,
este procedimiento busco llamarlo desde una clase, llamada proveedor con un metodo de modificar, a la cual le paso los parametros a actualizar y ejecuta todo, a continuacion les pongo el metodo de dicha clase

Código: Java
  1. public int modificarProveedor(int idProv,String nombre,String agentCont,String descripcion,String telefono, String email, String rfc, String numCalleExt, String numCalleInt, String calle,String colonia,String ciudad,String estado,String pais,String codigoPostal ){
  2.         int resul=1;
  3.         /*                    
  4.         1   in idProv int,
  5.         2   in nomProv nvarchar(70),
  6.         3   in agentContactoVar nvarchar(75),
  7.         4   in descripcionVar nvarchar(1000),
  8.         5   in telefonoVar nvarchar(25),
  9.         6   in emailvar nvarchar(50),
  10.         7   in RFCvar nvarchar(15),
  11.         8   in numeroCalle nvarchar(6),
  12.         9   in numCalleInterior nvarchar(6),
  13.         10  in calleVar nvarchar(45),
  14.         11  in coloniaVar nvarchar(45),
  15.         12  in ciudadVar nvarchar(45),
  16.         13  in estadoVar nvarchar(45),
  17.         14  in paisVar nvarchar(45),
  18.         15  in cp nvarchar(10)
  19.         */
  20.         Connection cone;
  21.         cone = Conexion.GetConnection();
  22.         System.out.println("Datos obtenidos");
  23.         System.out.println(idProv + nombre + agentCont+ descripcion+telefono+email+rfc+numCalleExt+numCalleInt+ calle+colonia+ciudad+estado+ pais+codigoPostal );
  24.         try {
  25.                 procAlm= cone.prepareCall("{call paModificarProveedor (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
  26.                
  27.                 procAlm.setInt(1,idProv);
  28.                 procAlm.setString(2,nombre);
  29.                 procAlm.setString(3,agentCont);
  30.                 procAlm.setString(4,descripcion);
  31.                 procAlm.setString(5,telefono);
  32.                 procAlm.setString(6,email);
  33.                 procAlm.setString(7,rfc);                                                                                                                                                                                                                                                                                      
  34.                 procAlm.setString(8,numCalleExt );
  35.                 procAlm.setString(9,numCalleInt);
  36.                 procAlm.setString(10,calle);
  37.                 procAlm.setString(11,colonia);
  38.                 procAlm.setString(12,ciudad);
  39.                 procAlm.setString(13,estado);
  40.                 procAlm.setString(14,pais);
  41.                 procAlm.setString(15,codigoPostal);
  42.                 procAlm.execute();
  43.                 cone.close();
  44.             } catch (SQLException ex) {
  45.                 JOptionPane.showMessageDialog(null, "Error al modificar el Proveedor " + ex.getMessage());
  46.                 resul = 0;
  47.             }
  48.         return resul;
  49.     }
  50.  
OJO e intentado tambiene l procAlm.executeUpdate() y tampoco me funciona u.u
y bueno, ya para finalizar, les muestro desde donde llamo a este metodo y creo la instancia del proveedor, es un evento de un boton, simplemente al dar click, el boton verifica que ciertos txtbox tengan caracteres, y si si tienen pues crea un objeto de la clase proveedor, le pasa los parametros requeridos y despues solo pone en no visible la ventana

Código: Java
  1. private void btn_guardarActionPerformed(java.awt.event.ActionEvent evt) {                                            
  2.         Connection cone;
  3.         cone = Conexion.GetConnection();
  4.         if(!this.txt_nomb.getText().isEmpty() && !this.txt_nombContacto.getText().isEmpty()){
  5.             Proveedor prove = new Proveedor();
  6.             prove.modificarProveedor(this.idProv,this.txt_nomb.getText(),this.txt_nombContacto.getText(),this.txt_descripcionProveedor.getText(),this.txt_tel.getText(),this.txt_email.getText(),this.txt_rfc.getText(),this.txt_numExt.getText(), this.txt_numInt.getText(),this.txt_calle.getText(),this.txt_colonia.getText(),this.txt_ciudad.getText(),this.txt_estado.getText(),this.txt_pais.getText(),this.txt_codigoPostal.getText());
  7.             this.setVisible(false);
  8.         }else{
  9.             JOptionPane.showMessageDialog(null, "Ingrese los datos obligatorios ");
  10.         }
  11.  
  12.     }  
  13.  

cabe mencionar que todo se ejecuta sin errores (almenos no he podido atraparlos con el try catch, nose si este omitiendo algo) simplemente se ejecuta pero no modifica los valores. gracias de antemano! y saludos :D!
« Última modificación: Julio 29, 2015, 02:18:08 am por Gabriela »

Desconectado Gus Garsaky

  • *
  • Underc0der
  • Mensajes: 93
  • Actividad:
    0%
  • Reputación -1
    • Ver Perfil
  • Skype: gus.garsaky
« Respuesta #1 en: Julio 28, 2015, 12:53:09 pm »
El hecho que no lance una Exception ya de por sí es raro. Si dices que has probado el procedure en el Workbench, el error se puede deber que estás pasando un id incorrecto al procedure.

Si hubiese algún tipo de excepción lo capturarías y como dices, no se lanza ninguna y teniendo en cuenta que tu procedure está testeada, solo se me ocurre que el error pudiese ser un id incorrecto.

Desconectado jestat

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Julio 29, 2015, 02:14:47 am »
El hecho que no lance una Exception ya de por sí es raro. Si dices que has probado el procedure en el Workbench, el error se puede deber que estás pasando un id incorrecto al procedure.

Si hubiese algún tipo de excepción lo capturarías y como dices, no se lanza ninguna y teniendo en cuenta que tu procedure está testeada, solo se me ocurre que el error pudiese ser un id incorrecto.

GUS!! eres un genio! (y yo un completo despistado) haha por eso me encantan estos foros, te hacen ver lo que omites, haha y deecho si, el ID que le proporcionaba estaba equivocado, pero yo estaban tan concentrado en pensar que el fallo era algo que estaba parseando mal o que utilizaba de manera incorrecta(utilizaba un metodo inmediatamente anterior para recuperar los datos PERO no actualizaba el ID de la instancia,y por eso seguia en null) y aunque imprimia los datos en la funcion para verificar no me habia percatado de que el ID siempre era 0 haha pero muchisimas gracias por leer y saludos :D!:p

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 8556
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1726
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2315
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 3246
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3595
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon