none
Query Dinâmica RRS feed

  • Pergunta

  • Boa noite,

    Em meu arquivo ASP (antigo) monto uma query sql, relativamente grande, e com seu resultado apresento uma lista em HTML. Porém, preciso mostrar esta mesma lista no RS.

    Como faço para passar essa query que montei do meu .asp para meu relatorio no RS?

    Desde já, obrigado

    quinta-feira, 17 de agosto de 2006 20:58

Respostas

  • Olá Mr Paoli,

    Bem, eu penso que existem duas formas:

    Procedure: Seria interessante passar a lógica para uma procedure a apenas invocá-la no relatório. Esse pode ser o caminho mais fácil e rápido. Vou explanar as outras alternativas e no fim justifico a opiniçao anterior.
    •     Problema: reescrever o código. (E talvez algum requisito de negócio).
    Parâmetro: Você pode transferir toda a query para o RS através de um parâmetro. Daí você o usuario como Text do comando (que precisa ser do tipo texto, e não procedure) a ser executado. Escrevendo "=Parameters!Comando.Value", por exemplo. Se fizer isso o RS enviaráa query em forma de parâmetro para o banco.
    • Problema 1: Caracteres especiais na mesma. O VBScript tem algumas funções para codificar um string de forma a transferí-la via URL, essas podem te ajudar com neste problema.
    • Problema 2: Tamanho da string que é, ou pode vir a ser, o parâmetro.
    Customização: Você pode customizar, implementando algumas interfaces, o RS para que ele tenha mais opções de interação com dados. Por default, ele tem: Sql Server, Oracle, ODBC e OLE DB (são as opções visualizadas na área "Type" quando você vai criar um novo DataSet). Você pode criar o seu tipo de DataSet.
    • Problema: Tempo. É preciso que você entenda o funcionamento do RS. E implemente algumas interfaces.
    Portanto,

    Acho complicado ficar a mercê de talvez extrapolar o tamanho da query string (2ª opção), ou ter um bom esforço de desenvolvimento para um relatório (3ª opção). Por isso prefiro a primeira.

    Eu vejo essas soluções. Caso opte pela última, tenho vários links que pode auxiliá-lo.

    Qualquer dúvida, por favor me avise.

    Até mais
    • Marcado como Resposta Richard Juhasz terça-feira, 4 de setembro de 2012 17:30
    sexta-feira, 18 de agosto de 2006 15:00