Ir para conteúdo

POWERED BY:

Arquivado

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

hunger

erro no INSERT INFO

Recommended Posts

Olá comunidade!

 

Estou fazendo uma programação para cadastro de funcionários de uma empresa. Mas na página de cadastro está dando o seguinte erro:

 

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Tipo de erro:

Microsoft JET Database Engine (0x80040E14)

Erro de sintaxe na instrução INSERT INTO.

/funcionarios/cadastro.asp, line 115

 

¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

 

Não entendo bem de ASP, mas terminei há pouco um sistema de notícias, onde a página de cadastro funciona corretamente. Comparei estas duas páginas, já que a base acaba sendo a mesma. Elas estão iguais, a diferença é que esta aqui não funciona!!!

 

Abaixo vai o código inteiro da página. Vou destacar a linha 115 com uma sequencia de "*******". Lembrando que faço as páginas com o DW, que enche de códigos...

 

Agradeço qualquer sugestão, to perdido aqui.... enquanto isso vou tentando!

 

Obgdo!!

 

Marcos Hunger.

 

> La vai o código:

 

<%@LANGUAGE="VBSCRIPT"%><!--#include file="Connections/Conexao.asp" --><%' *** Edit Operations: declare variablesDim MM_editActionDim MM_abortEditDim MM_editQueryDim MM_editCmdDim MM_editConnectionDim MM_editTableDim MM_editRedirectUrlDim MM_editColumnDim MM_recordIdDim MM_fieldsStrDim MM_columnsStrDim MM_fieldsDim MM_columnsDim MM_typeArrayDim MM_formValDim MM_delimDim MM_altValDim MM_emptyValDim MM_iMM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))If (Request.QueryString <> "") Then  MM_editAction = MM_editAction & "?" & Request.QueryStringEnd If' boolean to abort record editMM_abortEdit = false' query string to executeMM_editQuery = ""%><%' *** Insert Record: set variablesIf (CStr(Request("MM_insert")) = "form1") Then  MM_editConnection = MM_Conexao_STRING  MM_editTable = "funcionarios"  MM_editRedirectUrl = "lista.asp"  MM_fieldsStr  = "REGISTRO|value|NOME|value|DATA_NASC|value|LOCAL|value|FUNCAO|value|SETOR|value|ADMISSAO|value|CASA|value|ESCOLA|value|HISTORIA|value|VIDA|value|PING-PONG|value|FOTO|value|STATUS|value"  MM_columnsStr = "REGISTRO|',none,''|NOME|',none,''|DATA_NASC|',none,''|LOCAL|',none,''|FUNCAO|',none,''|SETOR|',none,''|ADMISSAO|',none,''|CASA|',none,''|ESCOLA|',none,''|HISTORIA|',none,''|VIDA|',none,''|PING_PONG|',none,''|FOTO|',none,''|STATUS|',none,''"  ' create the MM_fields and MM_columns arrays  MM_fields = Split(MM_fieldsStr, "|")  MM_columns = Split(MM_columnsStr, "|")    ' set the form values  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))  Next  ' append the query string to the redirect URL  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString    Else      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString    End If  End IfEnd If%><%' *** Insert Record: construct a sql insert statement and execute itDim MM_tableValuesDim MM_dbValuesIf (CStr(Request("MM_insert")) <> "") Then  ' create the sql insert statement  MM_tableValues = ""  MM_dbValues = ""  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2    MM_formVal = MM_fields(MM_i+1)    MM_typeArray = Split(MM_columns(MM_i+1),",")    MM_delim = MM_typeArray(0)    If (MM_delim = "none") Then MM_delim = ""    MM_altVal = MM_typeArray(1)    If (MM_altVal = "none") Then MM_altVal = ""    MM_emptyVal = MM_typeArray(2)    If (MM_emptyVal = "none") Then MM_emptyVal = ""    If (MM_formVal = "") Then      MM_formVal = MM_emptyVal    Else      If (MM_altVal <> "") Then        MM_formVal = MM_altVal      ElseIf (MM_delim = "'") Then  ' escape quotes        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"      Else        MM_formVal = MM_delim + MM_formVal + MM_delim      End If    End If    If (MM_i <> LBound(MM_fields)) Then      MM_tableValues = MM_tableValues & ","      MM_dbValues = MM_dbValues & ","    End If    MM_tableValues = MM_tableValues & MM_columns(MM_i)    MM_dbValues = MM_dbValues & MM_formVal  Next  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"  If (Not MM_abortEdit) Then    ' execute the insert    Set MM_editCmd = Server.CreateObject("ADODB.Command")    MM_editCmd.ActiveConnection = MM_editConnection    MM_editCmd.CommandText = MM_editQuery    MM_editCmd.Execute       ********************************************    MM_editCmd.ActiveConnection.Close    If (MM_editRedirectUrl <> "") Then      Response.Redirect(MM_editRedirectUrl)    End If  End IfEnd If%><title>DAD Engenharia - Intranet | ADM | Cadastro de Funcionários</title><form name="form1" method="POST" action="<%=MM_editAction%>">  <table width="50%" border="0">    <tr>       <td width="21%"> </td>      <td width="79%"><div align="center">Cadastro de Funcionários</div></td>    </tr>    <tr>       <td> </td>      <td> </td>    </tr>    <tr>       <td><div align="right">Registro:</div></td>      <td> <input name="REGISTRO" type="text" id="REGISTRO" size="50"> </td>    </tr>    <tr>       <td><div align="right">Nome:</div></td>      <td> <input name="NOME" type="text" id="NOME" size="50"> </td>    </tr>    <tr>       <td><div align="right">Data Nasc.:</div></td>      <td> <input name="DATA_NASC" type="text" id="DATA_NASC" size="15" maxlength="10">        (dd/mm/aaaa) </td>    </tr>    <tr>       <td><div align="right">Local:</div></td>      <td> <input name="LOCAL" type="text" id="LOCAL" size="50"> </td>    </tr>    <tr>       <td><div align="right">Função:</div></td>      <td> <input name="FUNCAO" type="text" id="FUNCAO" size="50"> </td>    </tr>    <tr>       <td><div align="right">Setor:</div></td>      <td> <input name="SETOR" type="text" id="SETOR" size="50"> </td>    </tr>    <tr>       <td><div align="right"> Admissão:</div></td>      <td> <input name="ADMISSAO" type="text" id="ADMISSAO" size="15" maxlength="10">        (dd/mm/aaaa)</td>    </tr>    <tr>       <td><div align="right">Tempo de Casa:</div></td>      <td> <input name="CASA" type="text" id="CASA" size="50"> </td>    </tr>    <tr>       <td><div align="right">Grau de Escolaridade:</div></td>      <td> <select name="ESCOLA" id="ESCOLA">          <option>1º Grau incompleto</option>          <option>1º Grau completo</option>          <option>2º Grau incompleto</option>          <option>2º Grau completo</option>          <option>Superior Incompleto</option>          <option>Superior completo</option>          <option>Mestrado</option>          <option>Doutorado</option>        </select></td>    </tr>    <tr>       <td><div align="right">História da Vida:</div></td>      <td> <textarea name="HISTORIA" cols="38" rows="3" id="textarea3"></textarea></td>    </tr>    <tr>       <td><div align="right">Vida Profissional:</div></td>      <td><textarea name="VIDA" cols="38" rows="3" id="textarea2"></textarea>       </td>    </tr>    <tr>       <td><div align="right">Ping-Pong:</div></td>      <td> <textarea name="PING-PONG" cols="38" rows="3" id="PING-PONG"></textarea></td>    </tr>    <tr>       <td><div align="right">Foto:</div></td>      <td> <input name="FOTO" type="text" id="FOTO" size="50"> </td>    </tr>    <tr>       <td><div align="right">Status:</div></td>      <td> <input name="STATUS" type="radio" value="ativo" checked>        Ativo     <input type="radio" name="STATUS" value="inativo">        Inativo</td>    </tr>    <tr>       <td> </td>      <td> </td>    </tr>    <tr>       <td> </td>      <td> <div align="center">           <input type="submit" name="Submit" value="Gravar">        </div></td>    </tr>  </table>	    <input type="hidden" name="MM_insert" value="form1">  </form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logo abaix ada linha que tem MM_editQuery coloque:

Response.Write MM_editQuery

Response.End

[/tr]
E verifique a sua SQL se está correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa....então, ele retornou os nomes dos campos criados, e os dados fictícios que eu preenchi o formulário:¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨insert into funcionarios (REGISTRO,NOME,DATA_NASC,LOCAL,FUNCAO,SETOR,ADMISSAO,CASA,ESCOLA,HISTORIA,VIDA,PING_PONG,FOTO,STATUS) values ('123521354','Jose Fernandes Souza','20/02/1979','Peruíbe-SP','Manobrista','Estacionamento','02/07/2000','4 anos','Segundo grau completo','asfaf','afaf','asfadf','','ativo')¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem 13 campos e 14 valores.

contei 14 a 14

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que ocorre é que tá usando palavras reservadas no insertLOCAL é uma troca e testa

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a demora.... estava no horario de almoço...entao, mas o q sao "palavras reservadas"?vou trocar essa LOCAL por outra e ver....

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a demora.... estava no horario de almoço...entao, mas o q sao "palavras reservadas"?vou trocar essa LOCAL por outra e ver....

Palavras reservadas são palavras usadas pela linguagem, no caso VbScript, que não podem ser usadas como variaveis, objetos, etc, mas apenas em stringsLOCAL é uma delas... Tente mudar pra outra que seja tão sugestiva como esta

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro ainda é na mesma linha, só mudou o tipo:¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨Tipo de erro:Microsoft JET Database Engine (0x80040E07)Tipo de dados imcompatível na expressão de critério./funcionarios/cadastro.asp, line 115¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨troquei LOCAL por LOCALIDADE, tanto na pagina (form) como no bd.e tirei aquele response write q coloquei antes pra poder testar o funcionamento da pag.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta mas agora o erro é de tipos de dados, verifica os tipos de dados em seu bdtodos os campos são strings?tem campo data?tem campo numerico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito... mancada minha mesmo! na hora de testar saí jogando qquer coisa e acabei colocando texto em um campo q é numerico.funcionou certinho.mais uma vez obrigado mario, você está sempre dando um help, assim como outras pessoas!valewmarcos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

perfeito... mancada minha mesmo! na hora de testar saí jogando qquer coisa e acabei colocando texto em um campo q é numerico.funcionou certinho.mais uma vez obrigado mario, você está sempre dando um help, assim como outras pessoas!valewmarcos.

Ok cara http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Qualquer coisa estamos na area http://forum.imasters.com.br/public/style_emoticons/default/joia.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.