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

Hola,

Cita:
Iniciado por alexander01015 Ver Mensaje
Gracis HackmanC por la respuesta... Pero sucede lo que me dices casi al final que si no lo encuentra deja el mismo valor .. Por favor explicame un poco mas como hago para evitar eso...
Eso se aplica en otro contexto, porque ni siquiera estas usando el parámetro INOUT.
Pero ... yo lo haría así :

Código MySQL:
Ver original
  1. DROP PROCEDURE IF EXISTS `tabla1`.`sp_buscar_05`$$
  2. CREATE PROCEDURE `tabla1`.`sp_buscar_05` (
  3.   IN q_codest CHAR(10)
  4.   select codest from cliente where codest = q_codest;
  5. $$
Código Java:
Ver original
  1. public boolean Exist(String q_codest) throws SQLException {
  2.         CallableStatement callableStatement = getConnection().prepareCall("{call sp_buscar_05(?)}");
  3.         callableStatement.setString("q_codest", q_codest);
  4.         ResultSet result = callableStatement.executeQuery();
  5.         if (result.next())
  6.           request.getSession().setAttribute("mensaje", result.getString("codest"));
  7.         else
  8.           // no lo encontro
  9.     }

Edit: Corregir un 'error' en el código, que pedía q_codest en lugar de codest que era el valor devuelto por la consulta. Pero supongo que no importa porque nadie más se tomó la molestia en escribirlo mejor o corregir el error, eso en base a lo que leí en otro hilo sobre 'el código de alguien más'.

Saludos,

Última edición por HackmanC; 01/06/2011 a las 20:55 Razón: cambiar codest por q_codest en el getter