Preciso validar um registro na minha tabela funcionários através do CPF. Se tentar adicionar o CPF(que é número único) de novo, ele não deixa. Fiz isso em uma Stored Procedure, mas quando chamo a procedure no Visual Studio 2017, ele pula a primeira mensagem e vai para a segunda, mesmo não adicionando o registro em questão à tabela. Me ajudem a resolver essa questão por favor?! Segue a stored procedure:
CREATE PROCEDURE sp_SalvarFunc
@nome VARCHAR(60),
@sexo VARCHAR(20),
@senha VARCHAR(10),
@cpf VARCHAR(14),
@endereco VARCHAR(100),
@telefone VARCHAR(14),
@email VARCHAR(30),
@turno VARCHAR(20),
@data_clt DATETIME,
@mensagem VARCHAR(100) OUTPUT
AS
BEGIN
IF EXISTS(SELECT * FROM funcionarios WHERE cpf=@cpf)
SET @mensagem='Número do CPF:' + @cpf + 'já está registrado.'
ELSE
INSERT INTO funcionarios VALUES(@nome, @sexo, @senha, @cpf, @endereco, @telefone, @email, @turno, @data_clt)
SET @mensagem='Funcionário registrado com sucesso!'
END
GO
Dentro do Try no click do botão gravar, depois de abrir a conexão e adicionar todos os campos, mando o seguinte código:
Dim msg As String = cmd.Parameters("@mensagem").Value.ToString
MessageBox.Show(msg, "Aviso!!", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Como dito, ele pula a primeira mensagem e vai pra segunda, aparece "Funcionário registrado com sucesso!" mas nada é adicionado à tabela.
Pergunta
Isaias Lourenço
Galera...
Preciso validar um registro na minha tabela funcionários através do CPF. Se tentar adicionar o CPF(que é número único) de novo, ele não deixa. Fiz isso em uma Stored Procedure, mas quando chamo a procedure no Visual Studio 2017, ele pula a primeira mensagem e vai para a segunda, mesmo não adicionando o registro em questão à tabela. Me ajudem a resolver essa questão por favor?! Segue a stored procedure:
CREATE PROCEDURE sp_SalvarFunc
@nome VARCHAR(60),
@sexo VARCHAR(20),
@senha VARCHAR(10),
@cpf VARCHAR(14),
@endereco VARCHAR(100),
@telefone VARCHAR(14),
@email VARCHAR(30),
@turno VARCHAR(20),
@data_clt DATETIME,
@mensagem VARCHAR(100) OUTPUT
AS
BEGIN
IF EXISTS(SELECT * FROM funcionarios WHERE cpf=@cpf)
SET @mensagem='Número do CPF:' + @cpf + 'já está registrado.'
ELSE
INSERT INTO funcionarios VALUES(@nome, @sexo, @senha, @cpf, @endereco, @telefone, @email, @turno, @data_clt)
SET @mensagem='Funcionário registrado com sucesso!'
END
GO
Dentro do Try no click do botão gravar, depois de abrir a conexão e adicionar todos os campos, mando o seguinte código:
Dim msg As String = cmd.Parameters("@mensagem").Value.ToString
MessageBox.Show(msg, "Aviso!!", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Como dito, ele pula a primeira mensagem e vai pra segunda, aparece "Funcionário registrado com sucesso!" mas nada é adicionado à tabela.
Obrigado antecipadamente.
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.