Ir para conteúdo

POWERED BY:

Arquivado

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

Diego_Fenixweb

Erro no INSERT

Recommended Posts

Bom primeiramente um feliz ano novo a todos que 2010 seja bem melhor que 2009!!

 

Então, é o seguinte estou desenvolvendo um sistema de envio de newsletter até ai beleza pura!!

O pior é que eu peguei esse codigo pela metade, ou seja ele foi feito para enviar a newslleter filtrando,

por exemplo a pessoa que começa com a letra de A até F de G até P de Q até Z. Até ai beleza, mas so que aconteceu o seguinte patrao me mando fazer uma a partir dessa. Mas só que nessa nova além desses filtros também será filtrado

por mes de nascimento, ou seja janeiro = 1 fevereiro = 2 etc...

E para esse filtro tem uma coluna no db a coluna feita para filtrar as letras é: pasta. a feita para mes são: pastanasc.

 

Segue abaixo o codigo

 

if left(Request.Form("email"),1)="a" or left(Request.Form("email"),1)="b" or left(Request.Form("email"),1)="c" or left(Request.Form("email"),1)="d" or left(Request.Form("email"),1)="e" or left(Request.Form("email"),1)="f" then 
	pasta="1"
  elseif left(Request.Form("email"),1)="g" or left(Request.Form("email"),1)="h" or left(Request.Form("email"),1)="i" or left(Request.Form("email"),1)="j" or left(Request.Form("email"),1)="k" or left(Request.Form("email"),1)="l" or left(Request.Form("email"),1)="m" or left(Request.Form("email"),1)="n" or left(Request.Form("email"),1)="o" or left(Request.Form("email"),1)="p" then
  	pasta="2"
  elseif left(Request.Form("email"),1)="q" or left(Request.Form("email"),1)="r" or left(Request.Form("email"),1)="s" or left(Request.Form("email"),1)="t" or left(Request.Form("email"),1)="u" or left(Request.Form("email"),1)="v" or left(Request.Form("email"),1)="w" or left(Request.Form("email"),1)="x" or left(Request.Form("email"),1)="y" or left(Request.Form("email"),1)="z" then
  	pasta="3"
 elseif Request.Form("nascimento")="janeiro" Then
  	pastanasc="janeiro"
  elseif Request.Form("nascimento")="fevereiro" Then
	pastanasc="fevereiro"	
  elseif Request.Form("nascimento")="marco" Then
  	pastanasc="marco"
  elseif Request.Form("nascimento")="abril" Then
  	pastanasc="abril"
  elseif Request.Form("nascimento")="maio" Then
  	pastanasc="maio"
  elseif Request.Form("nascimento")="junho" Then
  	pastanasc="junho"
  elseif Request.Form("nascimento")="julho" Then
  	pastanasc="julho"			
  elseif Request.Form("nascimento")="agosto" Then
  	pastanasc="agosto"	
  elseif Request.Form("nascimento")="setembro" Then
  	pastanasc="setembro"
  elseif Request.Form("nascimento")="outubro" Then
  	pastanasc="outubro"
  elseif Request.Form("nascimento")="novembro" Then
  	pastanasc="novembro"
  elseif Request.Form("nascimento")="dezembro" Then
  	pastanasc="dezembro"	
  else
  	pasta="1"		
  end if
	
'	Response.Write "insert into "& MM_editTable &" (pasta,pastanasc," & MM_tableValues & ") values ("&pasta&","& pastanasc &"," & MM_dbValues & ")"
'	Response.End
	'Conex.Execute("SET DATEFORMAT YMD; INSERT New_Usuarios ("& Campos &") VALUES ("& Valores &")")
	MM_editQuery = "insert into "& MM_editTable &" (pasta,pastanasc," & MM_tableValues & ") values ("&pasta&","& pastanasc &"," & MM_dbValues & ")"
	'MM_editQuery = "insert into " & MM_editTable & " (pasta," & MM_tableValues & ") values ("&pasta&"," & MM_dbValues & ")" & MM_editTable & " (pastanasc," & MM_tableValues & ") values ("&pastanasc&"," & MM_dbValues & ")"

if verifica.EOF then Executar = "Sim"
	verifica.close
	Set verifica = nothing
	
  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

	if Executar = "Sim" Then
		[b]MM_editCmd.Execute[/b]
	else
		Response.Redirect("usuarios_cad_erro.asp")
	end if
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If

 

Está dando erro o seguinte erro na linha em negrito:

 

Microsoft JET Database Engine error '80040e14'

 

Syntax error in INSERT INTO statement.

 

/admin/usuarios_cad.asp, line 181

alguma alma caridosa gostaria de quebrar a cuca comigo???

 

DESDE JÁ AGRADEÇO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque abaixo da linha "MM_editQuery = ..."

 

Response.Write MM_editQuery

Response.End

 

Poste o resultado.

 

 

 

Tópico movido

 

Origem: ASP http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Artigos, Tutoriais e Matérias (ASP)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tipo de dados de cada campo abaixo?

pasta,pastanasc,nome,email,status,nascimento

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, pastanasc não pode ser vazio como está sendo informado no post #3, já que um campo númerico.

 

Faça essa correção e poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique ese naun esta utilizando uma palavra reservada como uma coluna ou o nome (ou apelido utilizado um nome de coluna que começa com um número ou um caractere não alfanumérico), não delimitar um valor corretamente, ou realmente tem um erro de sintaxe.Verifique a ortografia. pode ser um nome de coluna Invalido 'sua_coluna'. A coluna a qual você se refere na Base de Dados não foi encontrada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok consegui resolver este problema no insert.

Agora esta dando erro na mesma linha agora aparece o seguinte:

 

Microsoft JET Database Engine (0x80040E10)

Nenhum valor foi fornecido para um ou mais parâmetros necessários.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string sql para ver o k esta sendo passado

respónse.write(SQL)

response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara ele me retorna tudo certinho:

 

insert into email (pasta,pastanasc,nome,email,status,nascimento) values (3,abril,'Diego','studio@studio.com.br','A','4')

 

CODIGO ATUAL

 

If left(Request.Form("email"),1)="a" or left(Request.Form("email"),1)="b" or left(Request.Form("email"),1)="c" or left(Request.Form("email"),1)="d" or left(Request.Form("email"),1)="e" or left(Request.Form("email"),1)="f" then 
		pasta="1"
	elseif left(Request.Form("email"),1)="g" or left(Request.Form("email"),1)="h" or left(Request.Form("email"),1)="i" or left(Request.Form("email"),1)="j" or left(Request.Form("email"),1)="k" or left(Request.Form("email"),1)="l" or left(Request.Form("email"),1)="m" or left(Request.Form("email"),1)="n" or left(Request.Form("email"),1)="o" or left(Request.Form("email"),1)="p" then
		pasta="2"
	elseif left(Request.Form("email"),1)="q" or left(Request.Form("email"),1)="r" or left(Request.Form("email"),1)="s" or left(Request.Form("email"),1)="t" or left(Request.Form("email"),1)="u" or left(Request.Form("email"),1)="v" or left(Request.Form("email"),1)="w" or left(Request.Form("email"),1)="x" or left(Request.Form("email"),1)="y" or left(Request.Form("email"),1)="z" then
		pasta="3"
	end if
	
	If Request.Form("nascimento")="1" Then
		pastanasc="janeiro"
	elseif Request.Form("nascimento")="2" Then
		pastanasc="fevereiro"	
	elseif Request.Form("nascimento")="3" Then
		pastanasc="marco"
	elseif Request.Form("nascimento")="4" Then
		pastanasc="abril"
	elseif Request.Form("nascimento")="5" Then
		pastanasc="maio"
	elseif Request.Form("nascimento")="6" Then
		pastanasc="junho"
	elseif Request.Form("nascimento")="7" Then
		pastanasc="julho"		
	elseif Request.Form("nascimento")="8" Then
		pastanasc="agosto"
	elseif Request.Form("nascimento")="9" Then
		pastanasc="setembro"
	elseif Request.Form("nascimento")="10" Then
		pastanasc="outubro"
	elseif Request.Form("nascimento")="11" Then
		pastanasc="novembro"
	elseif Request.Form("nascimento")="12" Then
		pastanasc="dezembro"
	else
		pasta="1"		
	End if
	
	MM_editQuery = "insert into "& MM_editTable &" (pasta,pastanasc," & MM_tableValues & ") values ("&pasta&","& pastanasc &"," & MM_dbValues & ")"

if verifica.EOF then Executar = "Sim"
	verifica.close
	Set verifica = nothing
	
  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

	If Executar = "Sim" Then
		MM_editCmd.Execute
	Else
		Response.Redirect("usuarios_cad_erro.asp")
	End if
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se pastanasc é número, você não pode informar texto. No caso acima, você informou "abril".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que informar as alterações que você fizer, senão não tem como sabermos.

 

Se você já mudou o campo para texto, você tem que utilizar aspas simples. No exemplo acima você informou o texto sem aspas.

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.