Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/05/2011, 22:04
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: llamada a porcedimiento almacenado arroja null

Hola,

Posiblemente,

Cita:
Iniciado por alexander01015 Ver Mensaje
CREATE PROCEDURE SP_BuscarRuc(INOUT vruc CHAR(11))
BEGIN
SELECT Ruc FROM Cliente WHERE Ruc=vruc;
END
Supongo que estas usando @vruc.

Cita:
Iniciado por alexander01015 Ver Mensaje
Código:
...
                   java.sql.CallableStatement sp_consulta = cn.prepareCall("{call SP_BuscarRuc(?)}");
                   sp_consulta.registerOutParameter(1, java.sql.Types.CHAR);
                   //¿Y el valor del parámetro?
                   sp_consulta.setString("vruc", 1000);
                   sp_consulta.execute();
Estás haciendo un SELECT con un valor de entrada y salida (INOUT), pero lo estás usando en el WHERE, por lo que tiene que tener un valor en el momento de entrada. Y al final no le estás asignando nada, para asignarle algo tendrías que ponerlo en la lista de campos.

SELECT @vruc = Ruc FROM Cliente WHERE Ruc = @vruc

¿Pero que sucedería? Creo que si no lo encuentra deja el mismo valor en vruc.

SELECT @total = COUNT(Ruc) FROM Cliente WHERE Ruc = @vruc

Aunque tendría que usar otra variable INT de salida, porque vruc es CHAR.

Saludos,

Última edición por HackmanC; 30/05/2011 a las 22:09