Ir para conteúdo

POWERED BY:

Arquivado

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

chacalAM

não repetir informações no bd

Recommended Posts

É o seguinte pessoal tenho um bd com um campo link e tenho uma página onde adiciono links no bd, quero que quando eu for digitar um link q já tenha no bd ele avise e não adiciona, para não repetirComo fazer?Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um select antes de inserir, se vier vazio você insere, se não já sabe né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

salgado dá pra dá uma força pra min... não manjo nada de select..heheh de ASP tbm não to aprendendo.hehe

olhe o código:

<% response.expires = -1000 %><!--#include file="connBanco.asp" --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Testando</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><%set ConnBanco = Server.CreateObject("ADODB.Connection")set recbuscar = Server.CreateObject("ADODB.Recordset")  ConnBanco.open MM_connTable	recbuscar.Open "buscar",ConnBancoDo While Not recbuscar.Eoflinkar = recbuscar.Fields("link")Response.Write"<font face='verdana' size='1'><a href="& linkar &" target='blank'>" & linkar & "</a><br>"recbuscar.MoveNextlooprecbuscar.closeConnBanco.close%></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente é isso, na página que irá processar a inclusão

<%set ConnBanco = Server.CreateObject("ADODB.Connection")
ConnBanco.open MM_connTable
SQL= "SELECT * FROM buscar WHERE link = '"& request("link") &"';"
set recbuscar = Server.CreateObject("ADODB.Recordset")
recbuscar.Open SQL,ConnBanco

if not recbuscar.EOF or recbuscar.BOF then
recbuscar.ADD
recbuscar("link")=request("link")
recbuscar.update
else
response.write "<H1>Atenção! O link "& request("link") &" já existe!</H1>"
end if

recbuscar.close
set recbuscar=nothing
ConnBanco.close
set connbanco = nothing%>

 

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse seu código acima é para listar os Links, o que te passei e para testar e inserir novos links. você terá que fazer o form para entrada desses dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procura esse arquivo "adovbs.inc" no seu computador e copia ele para a mesma pasta do seu ASP, no inicio do código você faz um include <!--#include file= "adovbs.inc" -->, fora das "<%%>", e mude essa linha

recbuscar.Open SQL,ConnBanco,adOpenDynamic,adLockOptimistic,adcmdtable

Para você ter uma melhor explicação sobre as mensagens de erro desabilite nas opções avançadas do browser a opção "exibir erros http amigaveis" ou algo assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu erro

 

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

 

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

 

/teste/incluir_ok.asp, line 3

 

---------------------------------------------------------------------------------------------------------------------------

 

<!--#include file= "adovbs.inc" --><%set ConnBanco = Server.CreateObject("ADODB.Connection")ConnBanco.open MM_connTableSQL= "SELECT * FROM buscar WHERE link = '"& request("link") &"';"set recbuscar = Server.CreateObject("ADODB.Recordset")recbuscar.Open SQL,ConnBanco,adOpenDynamic,adLockOptimistic,adcmdtableif not recbuscar.EOF or recbuscar.BOF thenrecbuscar.ADDrecbuscar("link")=request("link")recbuscar.updateelseresponse.write "<H1>Atenção! O link "& request("link") &" já existe!</H1>"end ifrecbuscar.closeset recbuscar=nothingConnBanco.closeset connbanco = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que é esse "MM_connTable"?, creio ser as informações de driver e o caminho para o BD, mas ele tb tem que estar na página asp, tipo:

MM_connTable="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("seu_BD.mdb") & ";"

Antes da chamada dele

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim Salgado tava faltando a conexão com o db com include. MAS AGORA ESTÁ COM ESSE ERRO

Microsoft OLE DB Provider for ODBC Drivers erro '80040e14'

 

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na cláusula FROM.

 

/teste/incluir_ok.asp, line 8

 

 

olhe agora:

<!--#include file= "adovbs.inc" --><% response.expires = -1000 %><!--#include file="connBanco.asp" --><%set ConnBanco = Server.CreateObject("ADODB.Connection")ConnBanco.open MM_connTableSQL= "SELECT * FROM buscar WHERE link = '"& request("link") &"';"set recbuscar = Server.CreateObject("ADODB.Recordset")recbuscar.Open SQL,ConnBanco,adOpenDynamic,adLockOptimistic,adcmdtableif not recbuscar.EOF or recbuscar.BOF thenrecbuscar.ADDrecbuscar("link")=request("link")recbuscar.updateelseresponse.write "<H1>Atenção! O link "& request("link") &" já existe!</H1>"end ifrecbuscar.closeset recbuscar=nothingConnBanco.closeset connbanco = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe o erro é

recbuscar.AddNew
É que estou enrolado aqui no trampo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Salgado... deu mais um erro no código olhe:

 

ADODB.Recordset erro '800a0cb3'

 

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

 

/teste/incluir_ok.asp, line 10

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

<% response.expires = -1000 %><!--#include file="connBanco.asp" --><%set ConnBanco = Server.CreateObject("ADODB.Connection")ConnBanco.open MM_connTableSQL= "SELECT * FROM buscar WHERE link = '"& request("link") &"';"set recbuscar = Server.CreateObject("ADODB.Recordset")recbuscar.Open SQL,ConnBancoif not recbuscar.EOF or recbuscar.BOF thenrecbuscar.ADDnewrecbuscar("link")=request("link")recbuscar.updateelseresponse.write "<H1>Atenção! O link "& request("link") &" já existe!</H1>"end ifrecbuscar.closeset recbuscar=nothingConnBanco.closeset connbanco = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentando ajudar.Eu não sei que tem ao certo neste include conexao<!--#include file="connBanco.asp" -->mais acho que deve colocar o objeto set ConnBanco = Server.CreateObject("ADODB.Connection")antes de chamar a conexao do include.e coloca o set de recbuscar antes de selectset recbuscar = Server.CreateObject("ADODB.Recordset") é uma tentativa :D e esta faltando o include do "adovbs.inc"<!--#include file="adovbs.inc" -->Abaixo um adovbs.inc pequenino'------------------------------<%'---- CursorTypeEnum Values ----Const adOpenForwardOnly = 0Const adOpenKeyset = 1Const adOpenDynamic = 2Const adOpenStatic = 3'---- LockTypeEnum Values ----Const adLockReadOnly = 1Const adLockPessimistic = 2Const adLockOptimistic = 3Const adLockBatchOptimistic = 4'---- CursorLocationEnum Values ----Const adUseServer = 2Const adUseClient = 3'---- CommandTypeEnum Values ----Const adCmdUnknown = &H0008Const adCmdText = &H0001Const adCmdTable = &H0002Const adCmdStoredProc = &H0004Const adCmdFile = &H0100Const adCmdTableDirect = &H0200%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não deu certo não neostrinkes...coloquei o adovbs.inc

 

<!--#include file="adovbs.inc" --><% response.expires = -1000 %><!--#include file="connBanco.asp" --><%set ConnBanco = Server.CreateObject("ADODB.Connection")ConnBanco.open MM_connTableSQL= "SELECT * FROM buscar WHERE link = '"& request("link") &"';"set recbuscar = Server.CreateObject("ADODB.Recordset")recbuscar.Open SQL,ConnBancoif not recbuscar.EOF or recbuscar.BOF thenrecbuscar.ADDnewrecbuscar("link")=request("link")recbuscar.updateelseresponse.write "<H1>Atenção! O link "& request("link") &" já existe!</H1>"end ifrecbuscar.closeset recbuscar=nothingConnBanco.closeset connbanco = nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está usando uma consulta não atualizavel:

recbuscar.Open SQL,ConnBanco
Troque por essa:
recbuscar.Open SQL,ConnBanco,adOpenDynamic,adLockOptimistic,adcmdtable

Já havia lhe passado esse toque um pouco acima.

 

 

Valeu?

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.