Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2014, 14:03
mAny94
 
Fecha de Ingreso: enero-2014
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Problema al Modificar BD con executeUpdate()

Hola. Estoy haciendo una aplicación para practicar, pero estoy estancado con algo que no he podido solucionar. Cuando quiero actualizar la base de datos -sql server- con la instrucción executeUpdate() esta me retorna -1. Este el código del método y del procedimiento almacenado.

PreparedStatement sentencia = null;
public boolean registrarCargo(Cargo cargo)
{
boolean respuesta = false;
try
{
sentencia = Conexion.getConexion().prepareCall("{call bdBodega.dbo.pa_cargo_registrar(?,?,?)}");
sentencia.setString(1, cargo.getCodigo_car());
sentencia.setString(2, cargo.getNombre_car());
sentencia.setString(3, cargo.getObseracion_car());
System.out.println(cargo.getCodigo_car() +" " +cargo.getNombre_car() +" " + cargo.getObseracion_car());
int retorno = sentencia.executeUpdate();
respuesta = (retorno > 0) ? true : false;
sentencia.close();
Conexion.cerrarConexion();
System.out.println(retorno);
return respuesta;
}
catch(Exception e)
{
System.out.println("Ha ocurrido una excepción al registrar el cargo");
return false;
}
}

Procedimiento almacenado
ALTER PROCEDURE pa_cargo_registrar
@codigoCar varchar(20),
@nombre varchar(150),
@descripcion text
AS
BEGIN
IF @nombre IS NULL
BEGIN
PRINT 'Nombre de cargo es nulo'
RETURN
END
IF (NOT EXISTS (SELECT codigo_car FROM tbCargo WHERE codigo_car=@codigoCar))
BEGIN
IF (NOT EXISTS (SELECT nombre_car FROM tbCargo WHERE RTRIM(nombre_car)=RTRIM(@nombre)))
BEGIN
INSERT INTO tbCargo(codigo_car,nombre_car,descripcion_car)
VALUES(@codigoCar,@nombre,@descripcion)
END
ELSE
BEGIN
PRINT 'Nombre de cargo ya existe'
RETURN
END
END
ELSE
BEGIN
PRINT 'Código de cargo ya existe'
RETURN
END
END


Si me pueden dar un mano se los agradecería mucho. Hasta pronto.