Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FGC

Duplicidade no Cadastro

Recommended Posts

Caros amigos ..beleza

 

Estou com o seguinte problema ao fazer a inclusão no cadastro ele esta cadastrando 2 vezes o mesmo registro ,segue o codigo :

 

<%
Competicao = request.Form("Competicao")





Set Conn = Server.CreateObject("adodb.connection")
conn.Open Dados 

sql="Insert into jogos (COMPETICAO) VALUES ('"&Competicao&"')"
Set RS = conn.execute(sql)
Set RS = NOTHING

'response.Write(sql)
'response.End()
%>
<html>
<head>
<title>Gestor de Escola Coxa</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>


<script language="JavaScript">alert('Cadastro efetuado com sucesso!');
location.href='cadastro_jogos.asp';</script>

</body>
</html>

 

Alguem tem ideia do que pode ser..

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta página que faz o cadastro é chamada de cadastro_jogos.asp??? pois só pode ser isso, já que você esta utilizando um location.href, se for faça um tratamento por if else e resolvera esta problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de fazer o ISNERT faça um SELCT no bd, olha este exemplo

 

    <% ‘incluir_action.asp => fazer a inclusao no BD, antes fazendo uma verificaçao

   ‘no BD através de SQL Select if not rs.eof then

   ‘redireciono para incluir_form.asp?msgeof=1 else

   ‘incluo no bd atraves da SQL Insert e redireciono para adiministraçao.asp?msg=1

   ‘e lá receberá um mensagem de sucesso

   Option explicit

   ‘declaro as var

   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert

   ‘recupero todos os dados

   varlogin=trim(request.form(“login”))

   varsenha=trim(request.form(“senha”))

   varemail=trim(request.form(“email”))

   ‘crio a conexao

   %>

   <!–#include file=”conn/conexao1.asp”–>

   <% ‘abrir a conexao

   call abreconexao

   ‘crio o rsselect para verificar se os dados jah estaun cadastrados

   set rsselect=server.createobject(“ADODB.Recordset”)

   ‘crio o SQLselect

   SQLselect=”SELECT login FROM login WHERE login=’”&varlogin&”‘”

   rsselect.open SQLselect,conexao,1,3

   if not rsselect.eof then

   response.redirect(“incluir_form_treina.asp?msgeof=1″)

   set rsselect=nothing

   else

   ‘crio o rsinsert para inseiri os dados no bd

   set rsinsert=server.createobject(“ADODB.Recordset”)

   ‘crio o SQLinsert pra incluir no bd

   SQLinsert=”INSERT INTO login(login,senha,email) values(‘”&varlogin&”‘,’”&varsenha&”‘,’”&varemail&”‘)”

   rsinsert.open SQLinsert,conexao,1,3

   response.redirect(“administracao_treina.asp?msg=1″)

   set rsinsert=nothing

   end if

   call fechaconexao %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não o cadastro_jogos.asp é onde é redirecionado apos o cadastro o cadastro é feito em incluir_jogos.asp que é a pagina do codigo que postei.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, faça essa mudança

 

troque isso.

 

<script language="JavaScript">alert('Cadastro efetuado com sucesso!');
location.href='cadastro_jogos.asp';</script>

 

por isso

 

<%
Response.Write "<script language=""JavaScript"">alert(""Cadastro efetuado com sucesso"");"
Response.Redirect("cadastro_jogos.asp")
%>

 

E faça o teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então simples como te coloquei acima, antes de inserir faça um SELCT, onde

if not rsselect.eof then, ou seja o arquivo ja existe, eu para ter um controle maior , eu redirecionando com parametros na URL e depois recupero e mostro uma mensagem que se facha após x segundo do usuario lê-la caso contrério dou um INSERt no bd

 

 

SQLselect=”SELECT login FROM login WHERE login=’”&varlogin&”‘”

 

rsselect.open SQLselect,conexao,1,3

 

if not rsselect.eof then

 

response.redirect(“incluir_form_treina.asp?msgeof=1″)

 

set rsselect=nothing

 

else

 

‘crio o rsinsert para inseiri os dados no bd

 

set rsinsert=server.createobject(“ADODB.Recordset”)

 

‘crio o SQLinsert pra incluir no bd

 

SQLinsert=”INSERT INTO login(login,senha,email) values(‘”&varlogin&”‘,’”&varsenha&”‘,’”&varemail&”‘)”

rsinsert.open SQLinsert,conexao,1,3

 

response.redirect(“administracao_treina.asp?msg=1″)

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma chave única na tabela. ao inserir e ocorrer o erro de chave duplicada você invalida o cadastro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.