Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Insert Into...


Super_Zica_Man

Pergunta

Por exemplo estou fazendo uma area para mandar seu e-mail para o newsletter....Estou usando o mesmo codigo de Insert Into que uso no cadastro....so que está dando erro,porque peguei o codigo meio pronto e to com uma duvida numa linha do codigo....

CONFIRM_CADASTRO

<% dim c1,r1,cadast

Senha2=request.form("Senha2")

Login=request.form("Login")

Senha=request.form("Senha")

NomeCompleto=request.form("NomeCompleto")

Sexo=request.form("Sexo")

Cidade=request.form("Cidade")

Estado=request.form("Estado")

Email=request.form("Email")

Pais=request.form("Pais")

DataNascDia=request.form("DataNascDia")

DataNascMes=request.form("DataNascMes")

DataNascAno=request.form("DataNascAno")

Endereco=request.form("Endereco")

set c1=server.createObject("adodb.connection")

set r1=server.createobject("adodb.recordset")

c1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath(".") & "\Dados\Dados.mdb;"

set r1=c1.execute("select * from login where login = '" & Login & "'")

if not r1.eof then

cadast = true

else

SQL = "INSERT INTO Login (Login,Senha,NomeCompleto,DataNascDia,DataNascMes,DataNascAno,Email,Sexo,Cidade,Estado,Pais,Endereco) VALUES('"& Login &"','"& Senha &"','"& NomeCompleto &"','"& DataNascDia &"','"& DataNascMes &"','"& DataNascAno &"','"& Email &"','"& Sexo &"','"& Cidade &"','"& Estado &"','"& Pais &"','"& Endereco &"')"

c1.execute SQL

cadast = false

end if

r1.close

c1.close

set r1=nothing

set c1=nothing

%>

<% if cadast then%>

<font color="#003399">Usuário Existente</font><p><center>

<input type="submit" value="Voltar" ONCLICK="history.back(-1)" ></center>

<%else%>

response.redirect "default.asp"

<%end if%>

CONFIRM_NEWSLETTER

<% dim c1,r1,cadast

Email=request.form("Email")

set c1=server.createObject("adodb.connection")

set r1=server.createobject("adodb.recordset")

c1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath(".") & "\Dados\Dados.mdb;"

set r1=c1.execute("select * from newsletter where newsletter = '" & news & "'")

if not r1.eof then

cadast = true

else

SQL = "INSERT INTO news (Email) VALUES('"& Email &"')"

c1.execute SQL

cadast = false

end if

r1.close

c1.close

set r1=nothing

set c1=nothing

%>

<% if cadast then%>

<font color="#003399" size="1" face="Verdana, Arial, Helvetica, sans-serif">E-mail já cadastrado em Nosso Sistema</font>

<p><center>

<input type="submit" value="Voltar" ONCLICK="history.back(-1)" ></center>

<%else%>

<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="default.asp">E-mail Cadastrado com Sucesso.<br />

</a></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="default.asp"> Voltar para pagina inicia</a></font>l

<%end if%>

Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

<form action="confirm_news.asp" name="formulario" target="conteudo" id="formulario">

<table width="160" border="1" cellpadding="0" cellspacing="0" bordercolor="#DFDFE3">

<tr>

<tudo><p align="center" class="style1">.:Newsletter:.</p></tudo>

</tr>

<tr>

<tudo><div align="center" class="style3">Digite seu e-mail: </div></tudo>

</tr>

<tr>

<tudo><div align="center">

<input name="news" type="text" id="news" size="20" />

</div></tudo>

</tr>

<tr>

<tudo><div align="center">

<input type="image" name="imageField" src="imagens/ok.gif" />

</div></tudo>

</tr>

</table>

</form>

Link para o comentário
Compartilhar em outros sites

  • 0

set r1=c1.execute("select * from login where login = '" & Login & "'")

essa linha você esta comparando com um campo no banco chamado login, neste form que você esta mandando ele comparar não tem este campo, então ele não compara com nada, por isto que ocorre o erro.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara não sei muito bem sua dúvida nem vi o erro... mas tenho uma dica... usar o "insert into" para inserir no banco de dados é um trabalho muito complicado....

Você pode fazer assim para inserir novos valores no banco...

Set rs = Server.CreateObject("ADODB.RecordSet")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("banco.mdb")
rs.Open "SELECT * FROM tabela ORDER BY campo ASC", DSN, 3, 3
  rs.AddNew
  rs("CampoDoBanco") = request.form("AlgumaCoisa")
  rs.Update
rs.Close
Mas para somente atualizar você pode fazer assim...
Set rs = Server.CreateObject("ADODB.RecordSet")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("banco.mdb")
rs.Open "SELECT * FROM tabela WHERE campo="& campoMarcado, DSN, 3, 3
  rs("CampoDoBanco") = request.form("AlgumaCoisa")
  rs.Update
rs.Close

falou... espero que isso ajudo a alguma coisa...

Link para o comentário
Compartilhar em outros sites

  • 0

aí... ao invés de

Email=request.form("Email")

usa

Email=request.form("news")

e no formulario, ao invés de

<form action="confirm_news.asp" name="formulario" target="conteudo" id="formulario">

coloca

form action="confirm_news.asp" name="formulario" target="conteudo" id="formulario" method="post">

vlw... espero ter ajudado...

Link para o comentário
Compartilhar em outros sites

  • 0

se voce fez as alteraçoes como eu falei, não é:

set r1=c1.execute("select * from newsletter where E-mail = '" & News & "'")
e sim
set r1=c1.execute("select * from newsletter where E-mail = '" & Email & "'")

e outra coisa...

se voce não esta usando recordset, não cria o objeto, pois você esta usando o connection para executar as intruçoes sql.

sendo assim, bota uma " ' " (aspas simples) lá em "set r1=server......."

e em "r1.close"

para comentar eles apenas, e não executalos...

espero que funcione. qualquer coisa crio um modelo aqui...

Link para o comentário
Compartilhar em outros sites

  • 0

continua dando o mesmo erro vo postar aqui o meu script inteiro como está agora e um link pra baxar o bd:

FORMULARIO:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!--#include file="Connections/loja_conexao.asp" -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

</head>

<body>

<form action="confirm_news.asp" name="formulario" target="conteudo" id="formulario" method="post">

<table width="160" border="1" cellpadding="0" cellspacing="0" bordercolor="#DFDFE3">

<tr>

<td><p align="center" class="style1">.:Newsletter:.</p></td>

</tr>

<tr>

<td><div align="center" class="style3">Digite seu e-mail: </div></td>

</tr>

<tr>

<td><div align="center">

<input name="News" type="text" id="news" size="20" />

</div></td>

</tr>

<tr>

<td><div align="center">

<input type="image" name="imageField" src="imagens/ok.gif" />

</div></td>

</tr>

</table>

</form>

</body>

</html>

CONFIRMACAO

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>:::::::::::::::::::::Central de Assessoria ao Usuario de Informatica:::::::::::::::::::</title>

</head>

<body>

<% dim c1,r1,cadast

Email=request.form("news")

set c1=server.createObject("adodb.connection")

set r1=server.createobject("adodb.recordset")

c1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath(".") & "\Dados\Dados.mdb;"

set r1=c1.execute("select * from newsletter where E-mail = '" & Email & "'")

if not r1.eof then

cadast = true

else

SQL = "INSERT INTO newsletter (E-mail) VALUES('"& E-mail &"')"

c1.execute SQL

cadast = false

end if

r1.close

c1.close

set r1=nothing

set c1=nothing

%>

<% if cadast then%>

<font color="#003399" size="1" face="Verdana, Arial, Helvetica, sans-serif">E-mail já cadastrado em Nosso Sistema</font>

<p><center>

<input type="submit" value="Voltar" ONCLICK="history.back(-1)" ></center>

<%else%>

<font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="default.asp">E-mail Cadastrado com Sucesso.<br />

</a></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="default.asp"> Voltar para pagina inicia</a></font>l

<%end if%>

</body>

</html>

BD:

http://rapidshare.de/files/20950094/dados.mdb.html

Link para o comentário
Compartilhar em outros sites

  • 0
SQL = "INSERT INTO newsletter (E-mail) VALUES('"& E-mail &"')"

Nomes de variáveis não podem contar sinais de subtração. ;) Como você leria aquilo ali? "E menos mail"? E acho que se um campo de um banco de dados tem um sinal, você deveria colocá-lo entre [] para indicar que se trata de um campo só (e não de uma expressão).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

boa Graymalkin, não tinha pensado nisso, é que eu também sempre coloquei "email" sem os sinal, bom depois de ler estes posts, já vou ficar ligado nesta ai!

mas faz o seguinte! imprime todos os valores numa pagina asp so para saber se os valores estao sendo passados pelo form! eu tava com este problema! e descobri que o form tava com dois campos com o mesmo nome!

campo, campo0.

veja se os componentes do form não estao com nomes iguais!!!!

isso acontece quando não queremos ficar inserindo então agente copia e cola, e sem perceber esquece isso! gerando este erro besta!

abs, VAGNER

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...