Ir para conteúdo

POWERED BY:

Arquivado

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

kadix

INSERT comando SQL

Recommended Posts

Galerinha,

 

alguém sabe o porque deste erro?

ja refiz várias vezes e nao consigo entender

procurei aki no fórum também antes de postar, mas não encontrei nada parecido.

 

alguém me dá uma luz?

 

 

Erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

 

[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

 

/flyer/cadflyer/inclusao.asp, line 140

 

===========================

PÁGINA: inclusao.asp:

 

 

<%

Else

If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> "" AND Trim(Request.Form("endereco")) <> "" AND Trim(Request.Form("numero")) <> "" AND Trim(Request.Form("cidade")) <> "" AND Trim(Request.Form("estado")) <> "" AND Trim(Request.Form("cep")) <> "" AND Trim(Request.Form("email")) <> "" AND Trim(Request.Form("ddd")) <> "" AND Trim(Request.Form("telefone")) <> "" AND Trim(Request.Form("piloto")) <> "" AND Trim(Request.Form("quando")) <> "" AND Trim(Request.Form("aeronave")) <> "" AND Trim(Request.Form("aerotipo")) <> "" AND Trim(Request.Form("carteira")) <> "" Then

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("cad1.mdb")

ComandoSQL = "INSERT INTO cadastro (nome, endereco, numero, cidade, estado, cep, email, ddd, telefone, piloto, quando, aeronave, aerotipo, carteira)"

ComandoSQL = ComandoSQL & " VALUES ("

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("nome")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("endereco")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("numero")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cidade")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("estado")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("cep")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("email")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("ddd")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("telefone")) & "',"

ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("piloto")) & ","

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("quando")) & "',"

ComandoSQL = ComandoSQL & "" & Server.HTMLEncode(Request.FORM("aeronave")) & ","

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("aerotipo")) & "',"

ComandoSQL = ComandoSQL & "'" & Server.HTMLEncode(Request.FORM("carteira")) & "')"

Set bd = Conexao.Execute(ComandoSQL)

Conexao.Close

Set bd = Nothing

Set Conexao = Nothing

%>

 

<font face="Arial" size="2">

<center><br>Os dados foram enviados com sucesso!

 

<br><a href="index.asp"><b>Clique aqui</b></a> para continuar</font></center>

 

<%

Else

%>

 

<font face="Arial" size="2">

<center><br>Atenção: Alguns dados necessário não foram preenchidos corretamente

 

<br><a href="java script:history.go(-1)"><b>Clique aqui</b></a> para voltar</font></center>

 

<%

End If

End If

%>

======================

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem olhei direito o código, mas isso acontece quando você tenta inserir um numero diferente de valores a campos no select tem 14 campos derrepente algum valor não está chegando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem olhei direito o código, mas isso acontece quando você tenta inserir um numero diferente de valores a campos no select tem 14 campos derrepente algum valor não está chegando...

os campos que tem a mais no Bd são: Codigo (com autonumeração) e data(data/hora).é isto?não sei se entendi muito bem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo data não deve estar permitindo Insert nulo. Ou você setou como automático?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo data não deve estar permitindo Insert nulo. Ou você setou como automático?

Olha, Salgado eu até retirei o campo agora para ver se resolvia e deu ouro erro:

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

 

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe na data na expressão de consulta 'não'.

 

/flyer/cadflyer/inclusao.asp, line 130

 

a linha 130 é esta:

130 Set bd = Conexao.Execute(ComandoSQL)

131 Conexao.Close

132 Set bd = Nothing

133 Set Conexao = Nothing

 

não seria algo do tipo quando é numero tem que por aspa simples ou dupla?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode retirar o Server.HtmlEncode para testar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode retirar o Server.HtmlEncode para testar?

Retirei e deu o mesmo errovocê já viu um erro assim? :o não estou entendendo isso que é o pior, quero entender isto<%Else If Not IsEmpty(Request.Form("submit")) AND Trim(Request.Form("nome")) <> "" AND Trim(Request.Form("endereco")) <> "" AND Trim(Request.Form("numero")) <> "" AND Trim(Request.Form("cidade")) <> "" AND Trim(Request.Form("estado")) <> "" AND Trim(Request.Form("cep")) <> "" AND Trim(Request.Form("email")) <> "" AND Trim(Request.Form("ddd")) <> "" AND Trim(Request.Form("telefone")) <> "" AND Trim(Request.Form("piloto")) <> "" AND Trim(Request.Form("quando")) <> "" AND Trim(Request.Form("aeronave")) <> "" AND Trim(Request.Form("aerotipo")) <> "" AND Trim(Request.Form("carteira")) <> "" Then Set Conexao = Server.CreateObject("ADODB.Connection") Conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="& Server.MapPath("cad1.mdb") ComandoSQL = "INSERT INTO cadastro (nome, endereco, numero, cidade, estado, cep, email, ddd, telefone, piloto, quando, aeronave, aerotipo, carteira)" ComandoSQL = ComandoSQL & " VALUES (" ComandoSQL = ComandoSQL & "'" & (Request.FORM("nome")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("endereco")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("numero")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("cidade")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("estado")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("cep")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("email")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("ddd")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("telefone")) & "'," ComandoSQL = ComandoSQL & "" & (Request.FORM("piloto")) & "," ComandoSQL = ComandoSQL & "'" & (Request.FORM("quando")) & "'," ComandoSQL = ComandoSQL & "" & (Request.FORM("aeronave")) & "," ComandoSQL = ComandoSQL & "'" & (Request.FORM("aerotipo")) & "'," ComandoSQL = ComandoSQL & "'" & (Request.FORM("carteira")) & "')" Set bd = Conexao.Execute(ComandoSQL) Conexao.Close Set bd = Nothing Set Conexao = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Erro na data, veja que está escrito 'não', que "traduzido" é 'não', isso não é uma data, veja se não é o campo "quando" de seu request que não está passando dados errados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá no meu bd eu deixei todos os campos tipo TEXTOexceto os campos: piloto e aeronave que estão com o tipo Sim/NãoRetirei o campo data e o campo quando também é tipo Texto.mesmo assim verifiquei o que você disse só pra ter certezaExiste outra maneira de fazer isto?não me imprto de refazer tudo...e se u colocasse o insert em outra página?obrigada pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passe esses campos para texto tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara se fosse eu faria tudo com

RecordSet.AddNew

o codigo vai ficar mais limpo e quanto ao if com a validação dos campos eu colocario dentro de um vetor cada campo depois faria um for contando até o numero maximo de campos... o codigo ficaria bem mais limpa e mais facil de achar errosfalow

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Salgado não adiantou também colocando tipo texto para todos campos...Andre, eu não sei como seria isso de vetorpoderia me mostrar um exemplo por favor?obrigada ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara se fosse eu faria tudo com

RecordSet.AddNew

o codigo vai ficar mais limpo e quanto ao if com a validação dos campos eu colocario dentro de um vetor cada campo depois faria um for contando até o numero maximo de campos... o codigo ficaria bem mais limpa e mais facil de achar errosfalow
alguém me ajuda! :o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando o AddNew:

Set BD = Server.CreateObject("ADODB.ReccordSet")
BD.Open Conexao,cadastro,2,2

BD.AddNew
BD("nome")=Request.FORM("nome")
BD("endereco")=Request.FORM("endereco")
BD("numero")=Request.FORM("numero")
BD("cidade")=Request.FORM("cidade")
BD("estado")=Request.FORM("estado")
BD("cep")=Request.FORM("cep")
BD("email")=Request.FORM("email")
BD("ddd")=Request.FORM("ddd")
BD("telefone")=Request.FORM("telefone")
BD("piloto")=Request.FORM("piloto")
BD("quando")=Request.FORM("quando")
BD("aeronave")=Request.FORM("aeronave")
BD("aerotipo")=Request.FORM("aerotipo")
BD("carteira")=Request.FORM("carteira")
DB.Update

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi meninos,eu fiz tudo novamente, usando o AddNew do Salgadoaí foi aparecendo alguns erros e fui identificando e corrigindoaté que deu certo, tudinhoisso que é o legal! :D OBRIGADA!bjus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ufa, qd vi seu post já pensei que tinha dado problema de novo :D

 

Que bom que funcionou.

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.