Ir para conteúdo

POWERED BY:

Arquivado

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

publicitando

Syntax error in INSERT INTO statement.

Recommended Posts

Deve ser algo bem idiota, mas para um iniciante tá de arrancar os cabelos rs ...

 

erro:

 

Microsoft JET Database Engine error '80040e14' Syntax error in INSERT INTO statement. /teste_edson/grava2.asp, line 25

 

Linha 25:

 

set rsquery = conn.execute(insere)

código:

 

<% nome=request.form("txtnome")endereco=request.form("txtendereco")cidade=request.form("txtcidade")estado=request.form("txtestado")telefone=request.form("txttelefone")insere = "insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "'," & telefone & ")" set conn = server.createobject("adodb.connection") conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=E:/dados/elvishelder/teste.mdb"set rsquery = conn.execute(insere) response.redirect("inserido_com_sucesso.htm") %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Título Editado

 

Copie e cole o código abaixo...

<%

 

nome=request.form("txtnome")

endereco=request.form("txtendereco")

cidade=request.form("txtcidade")

estado=request.form("txtestado")

telefone=request.form("txttelefone")

 

insere = "insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "'," & telefone & ")"

 

set conn = server.createobject("adodb.connection")

 

conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=E:/dados/elvishelder/teste.mdb"

 

response.write(insere)

response.end()

 

set rsquery = conn.execute(insere)

 

response.redirect("inserido_com_sucesso.htm")

 

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala amigo ... obrigado pela ajuda mas nao deu certo ... ele esta entendendo a linha de comando abaixo como uma STRING ... e retorna texto puro ....

 

insere = "insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "'," & telefone & ")"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro meu...desculpe!!Copie e cole novamente..

insere = insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "'," & telefone & ")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma observação nessa linha:

 

set rsquery = conn.execute(insere)

Você não vai criar uma recordset para inserir os dados, logo, não faz sentido declarar essa rsquery... coloca direto:

 

conn.execute(insere)

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque

 

nome=request.form("txtnome")endereco=request.form("txtendereco")cidade=request.form("txtcidade")estado=request.form("txtestado")telefone=request.form("txttelefone")
.

 

por

 

nome=request.querystring("txtnome")endereco=request.querystring("txtendereco")cidade=request.querystring("txtcidade")estado=request.querystring("txtestado")telefone=request.querystring("txttelefone")

Compartilhar este post


Link para o post
Compartilhar em outros sites

nome=request.querystring("txtnome")endereco=request.querystring("txtendereco")cidade=request.querystring("txtcidade")estado=request.querystring("txtestado")telefone=request.querystring("txttelefone")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeira coisa a se consertar... na página incluir.htm, retire o cabeçalho de declaração do VB que não deve ser utilizado pois é uma página HTML, e no FORM, coloque o method="post"

 

Segunda coisa... no seu arquivo grava2.asp.. você tá abrindo as tags do ASP corretamente?? <% %>???

 

Pois em algum lugar ta printando a estrutura da sua sql..

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

nome=request.querystring("txtnome")endereco=request.querystring("txtendereco")cidade=request.querystring("txtcidade")estado=request.querystring("txtestado")telefone=request.querystring("txttelefone")

Pelo link postado os dados estão por sendo enviados por GET e sendo passada a querystring pela barra de endereço do browser, por isso sugeri que alterasse

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique umas informações no seu banco.1º Se estão com o tipo correto, pois no insert você coloca o txttelefone recebendo um valor do tipo número2º Verifique se alguns dos campos da sua tabela está como REQUERIDO = SIM, troque para REQUERIDO=NÃO(para fazer teste). Fora isso só se for o envio de dados pois ao meu vertem dois erros, problema com o method do form que deve estar errado em relação a maneira que você recupera na página asp e esse problema de requeido o campo na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um response.write no valor da variavel insere e poste aqui o resultado para ver se ta tudo certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

como assimdeveria retornar o que tem nissoinsere = "insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "'," & telefone & ")"tem certeza que veio FALSE?

Compartilhar este post


Link para o post
Compartilhar em outros sites

poe o code da pagina grava2.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Será q tem alguma coisa havar com o ID??? na tabela eu tenho um campo ID com preenchimento automatico ... eu não preciso citar ele nesse arquivo de gravação né?

 

Desculpem pela minha leiguisse em asp ... tô migrando pra parte de sistemas agora ... até ontem era só xhtml, css, js e photoshop :)

 

 

<% nome=request.querystring("txtnome")endereco=request.querystring("txtendereco")cidade=request.querystring("txtcidade")estado=request.querystring("txtestado")telefone=request.querystring("txttelefone") response.Write(insere = "insert into usuarios (txtnome, txtendereco, txtcidade, txtestado, txttelefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "','" & telefone & "')")set conn = server.createobject("adodb.connection") conn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=E:/dados/elvishelder/teste.mdb"response.write(insere)response.end()conn.execute(insere) response.redirect("inserido_com_sucesso.htm") %>

Outra coisa:

 

Acho q eu estou me confundindo ...

 

ex: txtnome é o campo do formulário .... na base esta como texto ... txttelefone é no form ... na base é telefone e assim por diante ... será q nao estou colocando nas posições erradas dentro da variavel "insere" ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

então está um erro....você está pecando na sintaxe, abaixo como deve ser

 

insere"insert into usuarios (nome, endereco, cidade, estado, telefone) values ('" & nome & "','" & endereco & "','" & cidade & "','" & estado & "','" & telefone & "')"

você modificou algo no codigo postado? se modificou, como está atualmente?

 

com relação ao ID...se ele for auto increment(auto numeração) você não deve lista-lo no insert, apenas nas instruções de SELECT, UPDATE ou DELETE,quando for necessário

Compartilhar este post


Link para o post
Compartilhar em outros sites

de forma alguma, mas por questão de organizacao procura-se colocar nomes que fiquem de facil relacionamento, por exemplo....na tabela CLIENTE temos

 

idCliente

 

NomeCliente

 

EnderecoCliente

 

 

 

os input name você pode colocar

 

txt_Nome

 

ou

 

txtNome

 

ou

 

valor_nome

 

 

 

nas variaveis normalmente se usa o prefixo com o tipo da variavel depois o nome, ex:

 

strNome (variavel Nome que recebe um valor do tipo String)

 

intCep(variavel Cep que recebe um valor inteiro)

 

 

 

vai da sua organização pois ficara mais facil de entender o codigo para eventuais manutenções se você mantiver um padrão

 

Se você quiser a galera do forum te dá umas dicas, é só você colocar sua duvida....se quiser envio um simples exemplo para fazer isso que prentende...ai você pode ter uma pequena referencia http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.