..:: MX Studio Fóruns ::..: alguem pode me ajudar? - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

alguem pode me ajudar? gravação no bd

#1 User is offline   alang 

  • Group: Membros
  • Posts: 6
  • Joined: 19-October 05

Posted 08 December 2005 - 12:02 PM

olá galerinha to aprendendo asp e to fazendo um código p/ grava cadastros no bd.

a dúvida é quando mando gravar, da tudo certo, mas se depois de gravar eu pedir p/ atualizar a página ele grava o mesmo registro novamente no BD...

como faço p/ ele não fazer mais isso?


grato pela atenção amigos.
0

#2 User is offline   Henderson 

  • Group: Membros
  • Posts: 329
  • Joined: 18-September 04

Posted 09 December 2005 - 04:04 PM

você tem que ter um campo no bd, que seja unico... só pra facilitar as coisas.

vamos supor... tenha o campo EMAIL. O mesmo email não pode ser cadastrado duas vezes no banco.
aii, antes de gravar no bd, você faz um select:
ASP

email = Request.Form("email")
sql = "SELECT * FROM tabela WHERE email = '"&email&"'"
set rs = conexao.Execute(sql)

if rs.EOF then
      'não foi encontrado o email cadastrado, então
      '
você cadastra o novo dado
      else
      'foi encontrado o email no banco de dados
      '
então, não cadastrada e mostra a mensagem
      'email já cadastrado no banco de dados.
      end if
      


só que se você não quizer que seja assim, esse jeito que um email(ou nome... ou endereço, qualquer coisa) seja cadastrado apenas uma vez, pode fazer assim, mas é mais complicado.
você vai ter que colocar no select, verificando todos os campos do form e todos os campos do banco.

ASP

campo1 = Request.Form("campo1")
campo2 = Request.Form("campo2")
campo3 = Request.Form("campo3")

sql = "SELECT * FROM tabela WHERE campo1 = '"&campo1&"' AND campo2 = '"&campo2&"' AND campo3 = '"&campo3"'"
set rs = conexao.Execute(sql)

if rs.EOF then
      'não foi encontrado o registro cadastrado, então
      '
você cadastra o novo dado
      else
      'foi encontrado o registro no banco de dados
      '
então, não cadastrada e mostra a mensagem
      'já cadastrado no banco de dados.
      end if
      



ou pode ainda, cadastrar o ip do usuario em uma tabela, e quando tentar adicionar, ver se aquele ip já adicionou algum dado.
se ele já tiver adicionado, não adiciona nenhum!

mas se uma mesma pessoa quizer cadastrar dois dados diferentes, não vai poder, por que o IP dela já vai ter ido pra banco de dados!
caso não saiba, pra pegar o ip do usuário é:
ASP

ip = request.servervariables("remote_addr")



desses 3 jeitos, acho que o primeiro é o melhor.
criar um campo que deve ser unico pra cada usuario!
mas fica a sua escolha!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)