Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas ao pegar retorno do BD SQL Server 2005


ursolouco

Pergunta

Saudações,

Estou enfrentando um problema que o PHP não pega o retorno de forma correta da procedure.

Procedure

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [SISREN_P0000_MAPA_RESERVA_LISTA]
    @ID_SALA INT = NULL,
    @ID_ATIVIDADE INT = NULL,
    @PERIODO_INICIO DATETIME = NULL,
    @PERIODO_TERMINO DATETIME = NULL,
    @HORARIO_INICIO NVARCHAR(5) = NULL,
    @HORARIO_TERMINO NVARCHAR(5) = NULL
AS
BEGIN
    DECLARE @QUERY NVARCHAR(4000);
    DECLARE @SPARAMETER NVARCHAR(4000);
    SET @QUERY = '';
    SET @QUERY = @QUERY + 'SELECT RESERVA.* FROM T0010_RESERVA AS RESERVA ';
    SET @QUERY = @QUERY + 'INNER JOIN T0006_SALA AS SALA ON SALA.ID = RESERVA.ID_SALA ';
    SET @QUERY = @QUERY + 'INNER JOIN T0100_PESSOAL    AS PESSOAL    ON PESSOAL.PESS_CODIGO = RESERVA.ID_RESERVANTE ';
    SET @QUERY = @QUERY + ' LEFT JOIN T0012_ATIVIDADE  AS ATIVIDADE    ON ATIVIDADE.ID    = RESERVA.ID_ATIVIDADE ';
    SET @QUERY = @QUERY + ' LEFT JOIN T0003_DISCIPLINA AS DISCIPLINA    ON DISCIPLINA.ID = RESERVA.ID_DISCIPLINA ';
    SET @QUERY = @QUERY + 'WHERE 1 = 1 ';
    IF @ID_SALA IS NOT NULL
        SET @QUERY = @QUERY + 'AND RESERVA.ID_SALA = @ID_SALA ';
    IF @ID_ATIVIDADE IS NOT NULL
        SET @QUERY = @QUERY + 'AND RESERVA.ID_ATIVIDADE = @ID_ATIVIDADE ';
    IF @PERIODO_INICIO IS NOT NULL
        SET @QUERY = @QUERY + 'AND @PERIODO_INICIO BETWEEN RESERVA.PERIODO_INICIO AND RESERVA.PERIODO_TERMINO ';
    IF @PERIODO_TERMINO IS NOT NULL
        SET @QUERY = @QUERY + 'AND @PERIODO_TERMINO BETWEEN RESERVA.PERIODO_INICIO AND RESERVA.PERIODO_TERMINO ';
    IF @HORARIO_INICIO IS NOT NULL
        SET @QUERY = @QUERY + 'AND @HORARIO_INICIO BETWEEN RESERVA.HORARIO_INICIO AND RESERVA.HORARIO_TERMINO ';
    IF @HORARIO_TERMINO IS NOT NULL
        SET @QUERY = @QUERY + 'AND @HORARIO_TERMINO BETWEEN RESERVA.HORARIO_INICIO AND RESERVA.HORARIO_TERMINO ';
    SET @SPARAMETER = '@ID_SALA INT, @ID_ATIVIDADE INT, @PERIODO_INICIO DATETIME, @PERIODO_TERMINO DATETIME, @HORARIO_INICIO NVARCHAR(5), @HORARIO_TERMINO NVARCHAR(5) ';
    EXECUTE SP_EXECUTESQL @QUERY, @SPARAMETER OUTPUT, @ID_SALA, @ID_ATIVIDADE, @PERIODO_INICIO, @PERIODO_TERMINO, @HORARIO_INICIO, @HORARIO_TERMINO
    -- SELECT @QUERY AS 'RETORNO'
    -- RETURN
END
Funciona pefeirtamente via SQL SERVER MANAGEMENT STUDIO, porém, via PDO com PDO, sem chance. teste.php
<?php
require_once('library/__autoload.php');

if(isset($pesquisar))
{
    $filtro = new stdclass();
    $filtro->id_sala            = $id_sala;
    $filtro->id_atividade       = $id_atividade;
    $filtro->periodo_inicio     = $periodo_inicio;
    $filtro->periodo_termino    = $periodo_termino;
    $filtro->horario_inicio     = $horario_inicio;
    $filtro->horario_termino    = $horario_termino;
    try
    {
        $objMapaReserva             = new MapaReserva();
        $arrPesquisa                = array();
        $arrPesquisa                = $objMapaReserva->pesquisar($filtro);
        new Depurador( $arrPesquisa );
    }
    catch(Exception $e)
    {
        print( $e->getTraceAsString() );
    }
}

?>

<form method="post" action="?pesquisar=1" target="_self">
    <input type="hidden" name="id_sala" value="" />
    <input type="hidden" name="id_atividade" value="" />
    <input type="hidden" name="periodo_inicio" value="" />
    <input type="hidden" name="periodo_termino" value="" />
    <input type="hidden" name="horario_inicio" value="" />
    <input type="hidden" name="horario_termino" value="" />
    <input type="submit" value="Executar" />
</form>

Alguém tem alguma idéia do que possa ser ? :huh:

Abraços

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...