Ir para conteúdo
Fórum Script Brasil
  • 0

Inserir Informações No Banco Por Procedure


ri_nepo

Pergunta

Boa tarde Galera,

Criei uma procedure e quando mando executar no asp ele não da erro mas também não executa

O código está assim

**************************************************

set conexao=server.createobject("adodb.connection")conexao.open "Provider=SQLOLEDB.1;SERVER=server;DATABASE=base;UID=usuario;PWD=senha;"

varNome = Request.Form("frmNome")

varEmail = Request.Form("frmEmail")

Set cmdatualiza = Server.CreateObject("ADODB.Command")

Set cmdatualiza.ActiveConnection = Conexao

cmdatualiza.CommandText = "SP_INSERE_RESERVA"

cmdatualiza.CommandType = 4

cmdatualiza.ParameteRs.Refresh

cmdatualiza.ParameteRs("@nome") = varNome

cmdatualiza.ParameteRs("@email") = varEmail

cmdatualiza.Execute

Set cmdatualiza=nothing

**************************************************

A procedure está assim

*****************************************************

CREATE PROCEDURE SP_INSERE_RESERVA

(

@nome varchar(100),

@email varchar(100)

)

as

IF EXISTS(SELECT EMAIL FROM reserva)

BEGIN

Print 'Já existe um cadastro com este nome'

RETURN

END

ELSE

BEGIN

INSERT INTO reserva (nome,email) VALUES (@nome,@email)

Print 'Cadastro efetuado com sucesso'

END

GO

*******************************************************************

Quem puder ajudar eu agradeço

abraços

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Valeu mano ,

era isso mesmo , falha minha , valeu

Como eu faço na procedure para passar o valor de resposta para página

No lugar do print eu printo na propria página

ex:

IF EXISTS(SELECT EMAIL FROM reserva where email = @email)

BEGIN

Print 'Já existe um cadastro com este nome'

RETURN

END

ELSE

BEGIN

INSERT INTO reserva (nome,email) VALUES (@nome,@email)

Print 'Cadastro efetuado com sucesso'

END

Link para o comentário
Compartilhar em outros sites

  • 0

com ADODB Command não sei, mas com RecordSet, acho que ele retorna a mensagem na propriedade Erros da Connection. pra acessar seria tipo assim:

Response.Write(conexao.Errors(0).Description)

ai acho que cada vez que você executa ele substitui o indice 0 pelo erro. não manjo muito mas acho que é assim.

com o Command talvez seja igual.

Link para o comentário
Compartilhar em outros sites

  • 0

Não rolou , na realidade seria assim

a procedure envia uma variavel @MSN

****************************************************************

CREATE PROCEDURE SP_INSERE_RESERVA

(

@nome varchar(100),

@email varchar(100),

@MSN varchar(100) output

)

as

IF EXISTS(SELECT EMAIL FROM reserva where email = @email)

BEGIN

SET @MSG = 'ER Usuário já existe!!'

RETURN

END

ELSE

BEGIN

INSERT INTO reserva (nome,email) VALUES (@nome,@email)

SET @MSG = 'ER Cadastro efetuado com sucesso!!'

END

GO

****************************************************************

Só que no asp não está pegando , eu queria alguma dica

abraços

Ricardo

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...