Microsoft SQL Server 2000
Visual Basic .NET
Creo el comando, inicializo parámetros y cuando
cmd.ExecuteNonQuery()
flag = DirectCast(cmd.Parameters("@ok").Value, Boolean)
¿Por qué SIEMPRE ME DEVUELVE CERO (0), falso?
Cuando existen valores que debería devolver 1 (true)
El select count(*) LO CALCULA BIEN (comprobado), no entiendo !!!!
CREATE PROCEDURE PlazasOcupadas
(
@tipo int,
@dia smalldatetime,
@temporada as int,
@disponibles as int,
@solicitadas as int,
@ok bit OUTPUT
)
AS
DECLARE @ocupadas INT
SELECT @ocupadas (
SELECT COUNT(*) AS plazasOcupadas
FROM reservadias INNER JOIN Reserva ON (reservadias.rReserva=Reserva.id)
WHERE
(Reserva.status=0)
AND ((reserva.Localizador IS NULL) OR (reserva.Localizador LIKE 'AR%'))
AND reservadias.rSubtipoAlojamiento=@tipo
AND reservadias.dia=@dia
AND reservadias.rTemporada=@temporada
)
if (@ocupadas + @solicitadas > @disponibles) set @ok = 0
else set @ok = 1
return (0)
GO
Leer las respuestas