Ir para conteúdo

POWERED BY:

Arquivado

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

{_carnificina_}

Como verificar se já existe um registro no BD

Recommended Posts

Alguem poderia me ajudar? como criar um formulario de inserção que faça uma consulta e endique que o registro ja existe no bd.o meu problema é essa consulta como posso fazer usando o dreamweaver.ele poderia dar uma menssagem tipo MSGbox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo,Clique em Server Behaviors, User Authentication, Check New User. Se o usuario ja estiver cadastrado, o DW redireciona-o para outra pagina que poderia ser " ESTE USUARIO JA EXISTE, CLIQUE BACK PARA VOLTAR....." ao inves de uma msg box.[]'s,Mori

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,Olha só a primeira coisa que tem a fazer é saber quais informações você terá que verificar na tabela de inclusão para ver se tem ou não algum registro igual ao qual você quer inserir.Vamos ao exemplo:Você tem a tabela pessoas que tem as seguintes colunas:ID | Nome | Sobrenome | Email 1 João José joao@empresa.com2 João Xavier joão@empresa.com.br3 Maria José mjose@empresa.comE você esta tentando inserir os seguintes dados:Nome | Sobrenome |EmailMaria Xavier mxavier@empresa.comO que você tem que fazer é construir um select que localize o registro a ser incluído:Select ID From PessoasWhere Nome='Maria' AND Sobrenome='Xavier' AND Email='mxavier@empresa.com'E tratar a resposta do select:Se ID for vazio faça Novo Registro Nome = 'Maria' Sobrenome = 'Xavier' Email = 'mxavier@empresa.com' InserirSe não MensagemDeErro='O registro já existe!'Fim do SeBem a conexão e a inserção presumo que você saiba?Qualquer coisa, estou por aqui,

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Provider=Microsoft.JET.OLEDB.4.0;Data Source=\estoque\estoque.mdb;"os campos da tabela seriam nomeidadetelefoneemailisso dentro da tabela dados dentro do estoque.mdbgostaria de verificar o e-mail e o nomeo f*** do dreamwaver que ele gera um codigo imenso.sei que tenho que fazer umaconsulta antes de fazer um insert.isso posso fazer no menu advanced do recordset ?e como os nomes cairia nesses espaços ´nome´ não seriam %nome% %email% ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, ja que o pessoal aí é novo no assunto, vai um exemplo completo, quase!

 

A Tabela utilizada no exemplo tem as seguintes definições:

O Banco Utilizado foi o MS Access

Nome da Tabela: PSPESSOADescrição da Tabela: Pessoas do SistemaColunas:Nome do Campo  Tipo de Dados	DescriçãoCD_PSPESSOA  Auto-Numérica	Código da PessoaNM_PSPESSOA  Texto  Nome da PessoaDS_PSPESSOA_LOGIN	Texto  Login da PessoaDS_PSPESSOA_SENHA	Texto  Senha da PessoaDT_PSPESSOA_CADASTRO	Data/Hora	Data do Registro

O Exemplo:

<%@LANGUAGE="VBSCRIPT"%><!--#include file="Connections/PORTALX.asp" --><%Dim RsIncluir__StrLOGINRsIncluir__StrLOGIN = """"if (Request("DS_PSPESSOA_LOGIN") <> "") then RsIncluir__StrLOGIN = Request("DS_PSPESSOA_LOGIN")%><%Dim RsIncluir__StrNOMERsIncluir__StrNOME = """"if (Request("NM_PSPESSOA") <> "") then RsIncluir__StrNOME = Request("NM_PSPESSOA")%><%'Este select tenta encontrar um registro conforme os dados'que se deseja incluir. Se ele não encontrar significa que'o registro não existe, portanto poderá ser incluído. Mais'se for encontrado um registro é porque ele já existe. Então'será nescessário voltar uma mensagem de aviso.set RsIncluir = Server.CreateObject("ADODB.Recordset")RsIncluir.ActiveConnection = MM_PORTALX_STRING'Localize os registros das pessoas onde o login ou senha sejam iguais ao login e senha do ofrmulário.RsIncluir.Source = "SELECT CD_PSPESSOA, NM_PSPESSOA, DS_PSPESSOA_LOGIN, DS_PSPSESSOA_SENHA, DT_PSPESSOA_CADASTRO  FROM PSPESSOA  WHERE DS_PSPESSOA_LOGIN = '" + Replace(RsIncluir__StrLOGIN, "'", "''") + "' OR NM_PSPESSOA = '" + Replace(RsIncluir__StrNOME, "'", "''") + "'"RsIncluir.CursorType = 0RsIncluir.CursorLocation = 2RsIncluir.LockType = 3RsIncluir.Open()RsIncluir_numRows = 0%>  <%  'Caso o Recordset volte vazio e o Insert seja 1 ele inclui o registro  'ele deve voltar vazio, pois o Nome e Login a serem inclusos não existem  'portanto não foram encontrados no recordset acima.  If (RsIncluir.EOF And RsIncluir.BOF) And Request("Insert")=1 Then     Session.LCID = 1046 'Configurando o Locale ID (LCID) Chart para a Região pt-br ou 1046   	 RsIncluir.AddNew 'Abrindo um novo Registro no Recordset    If Request("NM_PSPESSOA")<>"" Then RsIncluir("NM_PSPESSOA")=Request("NM_PSPESSOA")  If Request("DS_PSPESSOA_LOGIN")<>"" Then RsIncluir("DS_PSPESSOA_LOGIN")=Request("DS_PSPESSOA_LOGIN")    If Request("DS_PSPSESSOA_SENHA")<>"" Then RsIncluir("DS_PSPSESSOA_SENHA")=Request("DS_PSPSESSOA_SENHA")    RsIncluir("DT_PSPESSOA_CADASTRO") = FormatDateTime(Date(), 2)'Incluindo a data do registro 	 RsIncluir.UpDate 'Incluindo o Registro  End If ' Fim do If (RsIncluir.EOF And RsIncluir.BOF) And Request("Insert")=1 Then  %>       	 <html><head><title>Novo Usuário</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body bgcolor="#FFFFFF" text="#000000"><form name="form1" method="post" action="include.asp">  <table width="500" border="0" cellspacing="0" cellpadding="3" bgcolor="#D4D0C8">    <tr bgcolor="#333399">       <td colspan="2"><b><font face="Tahoma, Arial" size="2" color="#FFFFFF">Novo         Usuário</font></b></td>    </tr>    <tr>       <td><b><font face="Tahoma, Arial" size="2" color="#000000">Nome:</font></b></td>      <td> <b><font face="Tahoma, Arial" size="2" color="#000000">         <input type="text" name="NM_PSPESSOA">        </font></b></td>    </tr>    <tr>       <td><b><font face="Tahoma, Arial" size="2" color="#000000">Login:</font></b></td>      <td> <b><font face="Tahoma, Arial" size="2" color="#000000">         <input type="text" name="DS_PSPESSOA_LOGIN">        </font></b></td>    </tr>    <tr>       <td><b><font face="Tahoma, Arial" size="2" color="#000000">Senha:</font></b></td>      <td> <b><font face="Tahoma, Arial" size="2" color="#000000">         <input type="password" name="DS_PSPESSOA_SENHA">        </font></b></td>    </tr>    <tr>       <td><b><font face="Tahoma, Arial" size="2" color="#000000">         <input type="hidden" name="Insert" value="1">        </font></b></td>      <td> <b><font face="Tahoma, Arial" size="2" color="#000000">         <input type="submit" name="Submit" value="CADASTRAR">        </font></b></td>    </tr>  </table>    </form></body></html><%RsIncluir.Close() 'Fechando a conexãoSet RsIncluir = Nothing 'Destruindo a conexão%>

O Motivo de não usar '%NM_PSPESSOA%' é porque isso é usado para lolizar registros próximo ao que foi inserido no campo do formulário, em nosso caso temos que encontrar o registro exato, Afinal A Mari não é Maria!!! OK?

 

Qualquer coisa estou por aqui,

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.