Erro no retorno do parametro OUTPUT
Bom dia.
Estou criando uma SP, mais está dando um erro quando não tem um registro na base. Se encontra o registro eu consigo pegar o retorno com RS("strMsg") que retorna 1, mais quando ainda nao tem o registro da um erro no RS("strMsg") dizendo "O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado."
Se eu executar a SP no QueryAnalizer retorna 0 certinho, só na páginas ASP que dá o erro. Tem alguma coisa errada na sintaxe abaixo? Fora isso sem eu tirar o INSERT inteiro deixando só o SET @strMsg = 0 da certo...colocando o INSERT ferra tudo.
CREATE PROCEDURE [dbo].[sp_cadastro_base]
@nome VARCHAR(200),
@sexo VARCHAR(1),
@dt_nascimento VARCHAR(10),
@cpf VARCHAR(14),
@strMsg INT OUTPUT
AS
IF EXISTS (SELECT cpf FROM t_we_cadastro_base WHERE cpf = @cpf)
BEGIN
SET @strMsg = 1
END
ELSE
BEGIN
INSERT INTO t_we_cadastro_base (nome, sexo, dt_nascimento, cpf)
VALUES (@nome, @sexo, @dt_nascimento, @cpf)
SET @strMsg = 0
END
SELECT @strMsg as strMsg
Discussão (2)
Carregando comentários...