Ir para conteúdo

POWERED BY:

Arquivado

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

maurohpg

Erro no Insert Into

Recommended Posts

O que seria esse erro??

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

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

 

/mauro/inserir2.asp, line 28

 

ASP

[*]set cmdInserir Server.CreateObject("ADODB.Command")

 

[*]cmdInserir.ActiveConnection = MM_cobasi_STRING

 

[*]cmdInserir.CommandText "INSERT INTO Noticias (site_area_ID, titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (" + Replace(cmdInserir__varSeg, "'""''") + ", '" + Replace(cmdInserir__varTitulo, "'""''") + "','" + Replace(cmdInserir__varMateria, "'""''") + "', '" + Replace(cmdInserir__varFonte, "'""''") + "', '" + Replace(cmdInserir__varURL, "'""''") + "', '" + Replace(cmdInserir__varData1, "'""''") + "', '" + Replace(cmdInserir__varData2, "'""''") + "', '" + Replace(cmdInserir__varData3, "'""''") + "', '" + Replace(cmdInserir__varPublicado, "'""''") + "') "

 

[*]cmdInserir.CommandType = 1

 

[*]cmdInserir.CommandTimeout = 0

 

[*]cmdInserir.Prepared true

 

[*]cmdInserir.Execute() linha 28

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse teste que você fez foi com apóstrofo?Esse replaces ñ vão evitar o erro. Muda o replace.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write em"INSERT INTO Noticias (site_area_ID, titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (" + Replace(cmdInserir__varSeg, "'", "''") + ", '" + Replace(cmdInserir__varTitulo, "'", "''") + "','" + Replace(cmdInserir__varMateria, "'", "''") + "', '" + Replace(cmdInserir__varFonte, "'", "''") + "', '" + Replace(cmdInserir__varURL, "'", "''") + "', '" + Replace(cmdInserir__varData1, "'", "''") + "', '" + Replace(cmdInserir__varData2, "'", "''") + "', '" + Replace(cmdInserir__varData3, "'", "''") + "', '" + Replace(cmdInserir__varPublicado, "'", "''") + "') "e posta o que aparecer... pois tem erro de sintaxe nisto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dei um Response.Write("INSERT INTO Noticias (site_area_ID, titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (" + Replace(cmdInserir__varSeg, "'", "''") + ", '" + Replace(cmdInserir__varTitulo, "'", "''") + "','" + Replace(cmdInserir__varMateria, "'", "''") + "', '" + Replace(cmdInserir__varFonte, "'", "''") + "', '" + Replace(cmdInserir__varURL, "'", "''") + "', '" + Replace(cmdInserir__varData1, "'", "''") + "', '" + Replace(cmdInserir__varData2, "'", "''") + "', '" + Replace(cmdInserir__varData3, "'", "''") + "', '" + Replace(cmdInserir__varPublicado, "'", "''") + "') ")e nada apareceu na tela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é melhor você tratar os dados que vão ser inseridos antes de concatenar com a SQL? Desse modo o código fica muito ruim para se entender... você pode estar colocando aspas simples onde não precisa... ou as esquecendo onde é necessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nada apareceu??mas como??

Compartilhar este post


Link para o post
Compartilhar em outros sites

então depois de escrever poe um response.ende veja se aparece algo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom apareceu isso aqui agora:INSERT INTO Noticias (site_area_ID, titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (, 'Teste de Noticia','Teste de envio de noticia!', 'Diário do Grande ABC', 'www.dgabc.com.br', '005-5--27', '2005-05-29', '2005-5-27', 'True')

Compartilhar este post


Link para o post
Compartilhar em outros sites

site_area_ID não esta tendo valoralgumas datas estão mal formatadas...corrija isso que funfa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom o Insert Into já arrumei que estava dando pau era por que n tinha valor msm, mais a data não sei o que acontece! Logo que:Dim data1data1 = mid(Request("data_de"),7,4) & "-" & mid(Request("data_de"),4,2) & "-" & mid(Request("data_de"),1,2) Dim data2data2 = mid(Request("data_ate"),7,4) & "-" & mid(Request("data_ate"),4,2) & "-" & mid(Request("data_ate"),1,2) São iguais certo??? só que somente o data1 está com a data bagunçada!!! agora pq isso se os dois estão iguais????

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim!Dim data1, data2, reservadata1 = mid(Request("data_de"),7,4) & "-" & mid(Request("data_de"),4,2) & "-" & mid(Request("data_de"),1,2)reserva = mid(Request("data_de"),7,4) & "-" & mid(Request("data_de"),4,2) & "-" & mid(Request("data_de"),1,2)data2 = reserva--------------------------------------------------------Na verdade ai eu só estou jogando o segundo valor em uma variavel e depois jogo o valor para data 2, tenta assim deve ser BUG!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não deu você acredita??? Antes tava assim a data:INSERT INTO Noticias (titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (, 'Teste de Notícia','sssss', 'Estadão', 'www.estadao.com.br', '005-5--27', '2005-05-29', '2005-5-27', 'True') Agora ficou assim:INSERT INTO Noticias (titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (, 'Teste de Notícia','sssss', 'Estadão', 'www.estadao.com.br', '005-5--27', '005-5--27', '2005-5-27', 'True')

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguinte antes de formatar verifica o que ta vindo em cada request de dataRequest("data_de")manda escrever na tela que nem você fez com a SQL e posta aqui tb...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O último campo é um campo sim/não (boolean)?Se for joga só o valor True (Sem as aspas).Num tem nada a ver com erro mas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom o Insert Into já arrumei que estava dando pau era por que n tinha valor msm, mais a data não sei o que acontece! Logo que:

 

Dim data1

data1 = mid(Request("data_de"),7,4) & "-" & mid(Request("data_de"),4,2) & "-" & mid(Request("data_de"),1,2)

Dim data2

data2 = mid(Request("data_ate"),7,4) & "-" & mid(Request("data_ate"),4,2) & "-" & mid(Request("data_ate"),1,2)

 

São iguais certo??? só que somente o data1 está com a data bagunçada!!! agora pq isso se os dois estão iguais????

isso é porque elas devem estar vindo de forma diferentes...

 

por isso pedi pra verificar seus valores antes de formatar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara..

Eu sei q tem gente que acha que usar o Insert Into é mais facil, mas, eu sempre gostei mais dos recordsets.....

 

Faz assim

 

ASP

[*]

 

[*]ORs.Open "nome_da_tabela",Conexao,1,3,2

 

[*]ORs.AddNEw

 

[*]ORs("nome_do_campo1"= valor_do_campo1

 

[*]ORs("nome_do_campo2"= valor_do_campo2

 

[*]ORs("nome_do_campo3"= valor_do_campo3

 

[*]ORs("nome_do_campo4"= valor_do_campo4

 

[*]ORs.Update

 

[*]ORs.Close

 

[*]

 

Se der erro num campo, vai dar erro exatamente na linha do dado q estiver errado.

 

Falow !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se der erro num campo, vai dar erro exatamente na linha do dado q estiver errado.

mas não eh dificil de ver onde está o erro...

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.