Ir para conteúdo

POWERED BY:

Arquivado

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

lemouta

inserir novo registro em BD

Recommended Posts

Falae galera, sou novo na comunidade e venho estudando ASP há pouco mais de 1 mes, e constantemente perco a cabeça com esses erros qd vou mexer com banco de dados.

 

Dessa vez é o seguinte, o cliente vai informar os dados pessoais dele, e dps faz-se uma busca no banco para ver se ele já comprou antes pelo site. Só é permitida uma compra por pessoa. Então se o nome informado não estiver no banco, aí sim ele insere os dados da pessoa no banco, deu pra entender??

 

Aí o erro acontece quando o cliente é novo, ou seja, tem q inserir no banco. Aí pq eu queria saber, mas ele não insere.. se o cliente já estiver no banco ele executa a primeira parte do IF tranquila.. dá o a viso de que já efetuou uma compra no nosso site e depois direciona pra uma outra pagina..

 

Quem puder me ajudar, eu agradeceria mt..

 

 

<%'Conexão com o componente ODBCset conexao = Server.CreateObject("ADODB.Connection")conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("rifa.mdb")'Comandos de busca de clientesql="SELECT * FROM compradores WHERE nome LIKE '"&Request.Form("nome")&"'"set rs = Server.CreateObject("ADODB.Recordset")rs.open sql,conexao,3,3 if NOT rs.eof thenrs.closeconexao.close set rs = nothingset conexao = nothing %><script language='Javascript'>alert('O Sr(a). já efetuou uma compra no nosso site!');window.location="quantidade.asp";</script> <% else 'Comandos de inserçãosql="INSERT INTO compradores(nome, endereco, bairro, telefone, email, n1, n2, n3, n4, n5) VALUES ('"&request.form("nome")&"',' "&request.form("endereco")&"', '"&request.form("bairro")&"', '"&request.form("telefone")&"', '"&request.form("email")&"', '"&request.form("num1")&"', '"&request.form("num2")&"', '"&request.form("num3")&"', '"&request.form("num4")&"', '"&request.form("num5")&"')"rs.open sql,conexao,1,3rs.closeconexao.closeset rs = nothing set conexao = nothingresponse.redirect("comprafinalizada.htm")end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim cara:

 

<%
'Conexão com o componente ODBC
set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("rifa.mdb")

'Comandos de busca de cliente
set rs = conexao.Execute("SELECT nome FROM compradores WHERE nome LIKE '"&Request.Form("nome")&"'")
if rs.eof then
	'Comandos de inserção
conexao.Execute("INSERT INTO compradores (nome, endereco, bairro, telefone, email, n1, n2, n3, n4, n5) VALUES ('"&request.form("nome")&"', '"&request.form("endereco")&"', '"&request.form("bairro")&"', '"&request.form("telefone")&"', '"&request.form("email")&"', '"&request.form("num1")&"', '"&request.form("num2")&"', '"&request.form("num3")&"', '"&request.form("num4")&"', '"&request.form("num5")&"')")

response.redirect("comprafinalizada.htm")

else
%>
<script language='Javascript'>
alert("O Sr(a). já efetuou uma compra no nosso site!");
window.location='quantidade.asp';
</script>
<%
end if

rs.close
conexao.close
set rs = nothing
set conexao = nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Po valeu ae pela ajuda Ted k'.

 

Mas continua dando erro.

Se quiser dar uma olhada, http://www.webng.com/lemouta/form_compra1.asp

 

A pagina tá safadona pq primeiro to querendo fazer a parte de programação aí não precisa reparar na bagunça não ta?!

 

Tipo, eu deixei no banco apenas um registro, que tá com o seguinte nome: "Leandro Mouta"

Aí se tu colocar esse mesmo nome, fica certinho.

 

Mas se botar um nome diferente dá erro..

Flw..

 

Aquele abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

rapaz se os algum form for vazio ele pode dar erro então como você está preechendo os outros forms????

 

<%
'Conexão com o componente ODBC
set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("rifa.mdb")

'Comandos de busca de cliente
set rs = conexao.Execute("SELECT nome FROM compradores WHERE nome = '"&Request.Form("nome")&"'")
if rs.eof then
	'Comandos de inserção
conexao.Execute("INSERT INTO compradores (nome, endereco, bairro, telefone, email, n1, n2, n3, n4, n5) VALUES ('"&request.form("nome")&"', '"&request.form("endereco")&"', '"&request.form("bairro")&"', '"&request.form("telefone")&"', '"&request.form("email")&"', '"&request.form("num1")&"', '"&request.form("num2")&"', '"&request.form("num3")&"', '"&request.form("num4")&"', '"&request.form("num5")&"')")

response.redirect("comprafinalizada.htm")

else
response.Write("<script>alert('O Sr(a). já efetuou uma compra no nosso site!');location='quantidade.asp'</script>")

end if

rs.close
conexao.close
set rs = nothing
set conexao = nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o teste:

você tem nome,endereco,bairro,telefone,email,n1,n2,n3,n4,n5

 

só cadastre o nome,endereco,bairro,telefone,email

 

e o n1,n2,n3,n4,n5 retire, ficando assim:

 

conexao.Execute("INSERT INTO compradores (nome, endereco, bairro, telefone, email) VALUES ('"&request.form("nome")&"', '"&request.form("endereco")&"', '"&request.form("bairro")&"', '"&request.form("telefone")&"', '"&request.form("email")&"')")

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe, se liga na proxima cara, hehe mais veja o nome realmente dos campos, verifique tudo para ñao ter duvida, æ sim depois disso continuar o erro, posta æ pra nós, pois ñ temos como adivinhar essas coisas (hehehehehe)

 

abraços!

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.