none
Usar uma Stored Procedure, com parâmetrização de uma Lista RRS feed

  • Pergunta

  •  

    Bom dia,

     

    Estou tentando abstrair meu código, montando um método que recebe uma Lista de valores(os quais serão os parâmetros de uma Stored Procedure), e passa essa lista como parâmetro para a Stored Procedure, em C#, será que tem como ??

    quinta-feira, 1 de maio de 2008 11:44

Todas as Respostas

  • Bom Dia,

     

    É possível sim mas um pouco trabalhoso. Antes que eu poste uma solução, qual SQL Server você está usando ? 2000 ou 2005 ?

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 1 de maio de 2008 12:03
  • Bom Dia,

     

    Eu estou usando o SQL Server 2005 baseado só em Stored Procedure.

     

    Obrigado Gustavo

    []s

     

    Alexandre

    quinta-feira, 1 de maio de 2008 13:46
  • Olá Alexandre,

     

    Acredito que se você precisa mandar vários parâmetros em um string para depois dentro da SP capturá-los o melhor seria utilizar o XML para tal. Dê uma olhada no script abaixo e verifique se o mesmo lhe atende

     

    Code Snippet

    DECLARE @xml XML

    SET @xml = '<?xml version="1.0"?>

    <parametros>

    <par>AlgumaString</par>

    <par>01</par>

    <par>20080105</par>

    </parametros>'

    DECLARE @parString VARCHAR(50), @parInt INT, @parDATETIME SMALLDATETIME

    SET @parString = @xml.value('(/parametros/par)[1]','varchar(50)')

    SET @parInt = @xml.value('(/parametros/par)[2]','INT')

    SET @parDATETIME = @xml.value('(/parametros/par)[3]','SMALLDATETIME')

    SELECT @parString, @parInt, @parDATETIME

     

     

    Se fosse no SQL Server 2000 teríamos que fazer um split que além de mais trabalhoso é mais arcáico.

     

    O melhor mesmo seria que você já passasse os parâmetros diretamente na chamada da SP ao invés de passar um único valor com todos os parâmetros mas acredito que isso seja necessário por conta de alguma questão de projeto.

     

    [ ]s,

     

    Gustavo

    quinta-feira, 1 de maio de 2008 14:02
  • Obrigado Gustavo, consegui aproveitar sua dica e ter idéia de como implementar no meu projeto

     

    []s

     

    Alexandre Rabelo

    quinta-feira, 1 de maio de 2008 15:03
  • Oi Alexandre,

     

    A idéia é sempre que possível aproveitar os novos recursos e acho que o XML se adequa bem ao que você precisava fazer. Se puder classificar a resposta...

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 1 de maio de 2008 15:13