Galera estou com uma duvida e gostaria que me ajudassem a entender o porque não consigo trazer como parâmetro uma lista que criei a partir de checkbox chegados na minha aplicação em C# + ASP.NET , é o seguinte tenho 3 tabelas(Treinamentos , Participantes e Funcionários) ou seja um treinamento tem vários participantes(Funcionários), então quando Seleciono no GridView da minha aplicação os participante eu monto uma Lista de selecionados e gravo no banco da seguinte forma(‘1’,’2’,’3’,’4’,’5’) , sendo assim preciso usar esses dados como parâmetro na minha clausula IN(ficando assim SELECT FUNC_ID FROM FUNCIONARIOS
WHERE FUNC_ID IN (‘1’,’2’,’3’,’4’,’5’) ,dessa maneira consigo recuperar todos os participantes daquele treinamento porem na procedure não esta reconhecendo o parâmetro como String/Varchar alguém sabe como faço pra usar essa lista como parâmetro na clausula IN do SQL SERVER 2008 ? ficarei muito grato pois já tentei varias forma porem sem sucesso , a baixo segue a Procedure com a logica completa.
/*Descrição das Tabelas*/
Funcionarios (FUNC_ID INT,FUNC_NOME VARCHAR(50))
Treinamentos(TREI_ID INT,TREI_NOME VARCHAR (50))
TREINAMENTOS_PARTICIPANTES(TREI_ID INT , TRPA_LIST_PARTICIPANTES VARCHAR (50)
obs: os dados da lista são gravados da seguinte forma, '1','2','3'
/*Procedure Busca Participantes*/
CREATE PROCEDURE Busca_Participantes (
@TREI_ID as INT
)
AS
DECLARE @ListaFunc_IDs VARCHAR(500)
BEGIN
SET @ListaFunc_IDs = @ListaFunc_IDs + (SELECT TRPA_LIST_PARTICIPANTES FROM TREINAMENTOS_PARTICIPANTES
Pergunta
ligerinho21
Olá Pessoal Boa Tarde,
Galera estou com uma duvida e gostaria que me ajudassem a entender o porque não consigo trazer como parâmetro uma lista que criei a partir de checkbox chegados na minha aplicação em C# + ASP.NET , é o seguinte tenho 3 tabelas(Treinamentos , Participantes e Funcionários) ou seja um treinamento tem vários participantes(Funcionários), então quando Seleciono no GridView da minha aplicação os participante eu monto uma Lista de selecionados e gravo no banco da seguinte forma(‘1’,’2’,’3’,’4’,’5’) , sendo assim preciso usar esses dados como parâmetro na minha clausula IN(ficando assim SELECT FUNC_ID FROM FUNCIONARIOS
WHERE FUNC_ID IN (‘1’,’2’,’3’,’4’,’5’) ,dessa maneira consigo recuperar todos os participantes daquele treinamento porem na procedure não esta reconhecendo o parâmetro como String/Varchar alguém sabe como faço pra usar essa lista como parâmetro na clausula IN do SQL SERVER 2008 ? ficarei muito grato pois já tentei varias forma porem sem sucesso , a baixo segue a Procedure com a logica completa.
/*Descrição das Tabelas*/
Funcionarios (FUNC_ID INT,FUNC_NOME VARCHAR(50))
Treinamentos(TREI_ID INT,TREI_NOME VARCHAR (50))
TREINAMENTOS_PARTICIPANTES(TREI_ID INT , TRPA_LIST_PARTICIPANTES VARCHAR (50)
obs: os dados da lista são gravados da seguinte forma, '1','2','3'
/*Procedure Busca Participantes*/
CREATE PROCEDURE Busca_Participantes (
@TREI_ID as INT
)
AS
DECLARE @ListaFunc_IDs VARCHAR(500)
BEGIN
SET @ListaFunc_IDs = @ListaFunc_IDs + (SELECT TRPA_LIST_PARTICIPANTES FROM TREINAMENTOS_PARTICIPANTES
WHERE TREI_ID = (@TREI_ID))
END
BEGIN
SELECT FUNC_ID FROM FUNCIONARIOS
WHERE FUNC_ID IN (@ListaFunc_IDs)
END
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.