Sobrit Postado Novembro 5, 2003 Denunciar Share Postado Novembro 5, 2003 Preciso validar os campos login e cpf antes de gravar no banco, os dois não podem se duplicar, como faço??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Decio Postado Novembro 5, 2003 Denunciar Share Postado Novembro 5, 2003 A melhor forma é fazer um select no banco de dados procurando pelo usuario e cpf, depois voce verifica se EOF = true , se for é porque existe o registro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sobrit Postado Novembro 6, 2003 Autor Denunciar Share Postado Novembro 6, 2003 que mais eu preciso??Olha o codigo ai galera.Depois deste codigo ai preciso criar duas variaveis que conterão os valores correspodentes a login e cpf?Se a resposta é sim onde devo criar??? consulta = "SELECT * FROM tclientes where login='"&login_atual&"' And cpf='"&cpf_atual&"'" Set rs = conexao.Execute(consulta) Do while Not rs.Eof rs.movenext loop if len(login_atual)=rs_login And len(cpf_atual)=rs_cpf then Response.write rs("idcliente")&" _______________ " Response.write rs("cpf")&" _________________ " Response.write rs("login")&"<br><br>" else response.Write "Erro. Digite novamente!" end if Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ednaldo Postado Novembro 6, 2003 Denunciar Share Postado Novembro 6, 2003 :) e aí Sobrit beleza? vamos ver se eu entendi, você quer validar dois campos, login e cpf, caso o cpf e o login existirem dá uma mensagem.Olha o codigo que eu usoTry conn = New SqlConnection(conexao) conn.Open() sql = "SELECT email FROM Email WHERE email = '" & Me.txtEmailNewsletter.Text & "'" cmd = New SqlCommand(sql, conn) dr = cmd.ExecuteReader If Me.txtEmailNewsletter.Text = "" Then Me.lblNewsletter.Text = "Por favor preencha o campo" ElseIf dr.Read Then Me.lblNewsletter.Text = "Email já Cadastrado" Else dr.Close() sql = "INSERT Email (email,data) VALUES('" & Me.txtEmailNewsletter.Text & "', '" & Now.ToString("MM/dd/yyyy") & "')" cmd = New SqlCommand(sql, conn) cmd.ExecuteNonQuery() Me.lblNewsletter.Text = "Email cadastrado com sucesso!" Me.txtEmailNewsletter.Text = "" End If cmd.Dispose() conn.Dispose() Catch err As SqlException Response.Redirect("erro.aspx?mens=" & err.Message)dá uma olhada neste código e vê se te serve, é que estou meio enrolado aqui, neste codigo ele olha se existe no banco, caso existe da uma mensagem, ele tambem valida se o campo foi digitado, se passar por esta duas etapas aí ele grava no banco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Decio Postado Novembro 6, 2003 Denunciar Share Postado Novembro 6, 2003 você não pode comparar dados da forma como esta fazendo : if len(login_atual)=rs_login And len(cpf_atual)=rs_cpf then... Acho melhor assim:<% login = strcomp((trim(login_atual)),(trim(rs("rs_login "))),1) IF login = 0 then.... 'igual %>faça o mesmo para os dois campos que quer comparar.você tambem não precisa por em loop porque so vai achar um registro:mude ->Do while Not rs.Eofpara -> if rs.eof = false then... achou registroA outra pergunta se você deve criar variaveis vai depender se você vai precisar destas informações em outra página , ai você deve armazenar em variaveis do tipo Session Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sobrit Postado Novembro 6, 2003 Autor Denunciar Share Postado Novembro 6, 2003 Por que ele para na primeira condicão do IF?Ou seja se exiete cpf ele da a mensagem e se existe login ele grava assim mesmo.Se eu trocar a comparação acontece a mesma coisa só executa a primeira condição, o que acontece ai???alguém da uma força ai!!!if id=0 thenconsulta = "SELECT * FROM tclientes where login='"&login_atual&"' And cpf='"&cpf_atual&"'"Set rs = conexao.Execute(consulta)if rs.eof = false thenif rs("cpf")=cpf_atual thenresponse.Redirect "form_cadastro.asp?erro=2"else rs("login")=login_atual thenresponse.Redirect "form_cadastro.asp?erro=3"end ifelse'insere no bancoend ifend if Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Decio Postado Novembro 6, 2003 Denunciar Share Postado Novembro 6, 2003 tente assim: if rs.eof = false then 'não existe nenhum cadastro. 'Pode inserir o registroelse 'Existe o usuario e cpf , não pode efetuar o cadastro.end ifA partir que EOF é igual a FALSE , é porque não achou nada. A partir que EOF é igual a TRUE , é porque achou algum registro, então não é preciso fazer mais nenhuma comparação dentro do if. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Sobrit
Preciso validar os campos login e cpf antes de gravar no banco, os dois não podem se duplicar, como faço???
Link para o comentário
Compartilhar em outros sites
6 respostass 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.