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 erro ta na data...já disse pra ele...olha como ele ta tentando inserir...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') basta corrigir como ele formata a data e vai funfar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ seria mais facil fazer assim:

ASP

[*]data format(data,"yyyy-mm-dd")

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o replace antes, fica melhor para visualizar o erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom tentei de várias maneiras mas não consegui, nem código é o seguinte:

 

ASP

[*]<%@LANGUAGE="VBSCRIPT"%>

 

[*]

 

[*]<!--#include file="Connections/cobasi.asp" -->

 

[*]<%

 

[*]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) 

 

[*]

 

[*]if(Request("titulo") <> ""then cmdInserir__varTitulo Request("titulo")

 

[*]if(Request("materia") <> ""then cmdInserir__varMateria Request("materia")

 

[*]if(Request("fonte") <> ""then cmdInserir__varFonte Request("fonte")

 

[*]if(Request("url") <> ""then cmdInserir__varURL Request("url")

 

[*]if(Request("data_de") <> ""then cmdInserir__varData1 = data1

 

[*]if(Request("data_ate") <> ""then cmdInserir__varData2 = data2

 

[*]if(Request("data_cadastro") <> ""then cmdInserir__varData3 Request("data_cadastro")

 

[*]if(Request("publicado") <> ""then cmdInserir__varPublicado Request("publicado")

 

[*]%>

 

[*]<%

 

[*]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()

 

[*]Response.End()

 

[*]%>

 

Quem poder dar uma olhadinha mais a fundo......tenei pegar a data e não tratar os campos mais msm assim deu erro....ela vem certa mais na hora de inserir no BD dá erro. o mesmo erro que reportei no começo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz o seguintedeixa eu ver como ta vindoescreve na tela de novo"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 aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

aproveitando escreve tb issoresponse.write("DE: " & Request("data_de))response.write("ATE: " & Request("data_ate"))

Compartilhar este post


Link para o post
Compartilhar em outros sites

ProntoINSERT INTO Noticias (site_area_ID, titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (, 'Teste de Notícia','Teste de notícia!', 'Site Mesquita', 'www.mesquita.com.br', '005-5--31', '2005-06-15', '2005-5-31', 'True')DE: 31-5-2005ATE: 01-06-2005

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora da pra ver o erro...as datas não tem o mesmo tamanho e você trata como se tivesse

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente mudar só esta parte

 

ASP

    [*]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) 

 

 

por

 

ASP

    [*]Dim data1

     

    [*]

     

    [*]data1 format(Request("data_de"),"yyyy-mm-dd")

     

    [*]

     

    [*]Dim data2

     

    [*]

     

    [*]data2 format(Request("data_ate"),"yyyy-mm-dd")

     

    [*]

 

testa ai se não funfar ai a gente apela...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe isso eu já havia tentado e tinha dado erro, esse mesmo erro que deu...Microsoft VBScript runtime error '800a000d' Type mismatch: 'format' /mauro/inserir2.asp, line 6 linha 6= data1 = format(Request("data_de"),"yyyy-mm-dd")

Compartilhar este post


Link para o post
Compartilhar em outros sites

E tentei tirar o tratamento dos campos deixei no BD como texto na parte de datas mais mesmo assim não vaio tah ai meu codigo!

 

ASP

[*]<%@LANGUAGE="VBSCRIPT"%>

 

[*]<!--#include file="Connections/cobasi.asp" -->

 

[*]<%

 

[*]if(Request("titulo") <> ""then cmdInserir__varTitulo Request("titulo")

 

[*]if(Request("materia") <> ""then cmdInserir__varMateria Request("materia")

 

[*]if(Request("fonte") <> ""then cmdInserir__varFonte Request("fonte")

 

[*]if(Request("url") <> ""then cmdInserir__varURL Request("url")

 

[*]if(Request("data_de") <> ""then cmdInserir__varData1 Request("data_de")

 

[*]if(Request("data_ate") <> ""then cmdInserir__varData2 Request("data_ate")

 

[*]if(Request("data_cadastro") <> ""then cmdInserir__varData3 Request("data_cadastro")

 

[*]if(Request("publicado") <> ""then cmdInserir__varPublicado Request("publicado")

 

[*]%>

 

[*]<%

 

[*]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()

 

[*]Response.End()

 

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow na hora de enviar as datas não da para ver enviar elas de um modo melhor ñ? Como dd/mm/yyyy.

Ou faz assim:

ASP

[*]

 

[*]vData1 split(request("data_de"),"-")

 

[*]data1 vData1(2) & "-" & vData1(1) & "-" & vData1(0)

 

[*]vData2 split(request("data_ate"),"-")

 

[*]data2 vData2(2) & "-" & vData2(1) & "-" & vData2(0)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara já tentou com recordset ???? (Eu insisto que é mais fácil)E tem mais uma coisa...Para formatar as datas e inserir no Access, usando INSERT INTO o formato correto é "mm/dd/yyyy"Portanto, vai ter que tratar as datas....colocar inclusive os zeros à esquerda.Para colocar zeros à esquerda pode fazer o seguinteMes = Right("00" & Mes,2)Falow !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom fiz do jeito que o Luizgrs me passou, continuou dando erro.Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Teste de Notícia','<FONT face=[Arial, Helvetica, sans-serif] size=1>Teste de noticia</FONT>', 'Estadão', 'www.estadao.com.br', '2005-6-1', '2005-6-2', '2005-6-1', 'True')'. /mauro/inserir2.asp, line 26Linha 26=cmdInserir.Execute() Agora me parece que está puxando todos os dados corretamente, e as datas tb. No meu campo do access a fata está como texto será que pode ser isso???<%@LANGUAGE="VBSCRIPT"%><!--#include file="Connections/cobasi.asp" --><%vData1 = split(request("data_de"),"-")data1 = vData1(2) & "-" & vData1(1) & "-" & vData1(0)vData2 = split(request("data_ate"),"-")data2 = vData2(2) & "-" & vData2(1) & "-" & vData2(0)if(Request("titulo") <> "") then cmdInserir__varTitulo = Request("titulo")if(Request("materia") <> "") then cmdInserir__varMateria = Request("materia")if(Request("fonte") <> "") then cmdInserir__varFonte = Request("fonte")if(Request("url") <> "") then cmdInserir__varURL = Request("url")if(Request("data_de") <> "") then cmdInserir__varData1 = data1if(Request("data_ate") <> "") then cmdInserir__varData2 = data2if(Request("data_cadastro") <> "") then cmdInserir__varData3 = Request("data_cadastro")if(Request("publicado") <> "") then cmdInserir__varPublicado = Request("publicado")%><%set cmdInserir = Server.CreateObject("ADODB.Command")cmdInserir.ActiveConnection = MM_cobasi_STRINGcmdInserir.CommandText = "INSERT INTO Noticias (titulo, materia, fonte, url, data_de, data_ate, data_cadastro, publicado) VALUES (" + 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 = 1cmdInserir.CommandTimeout = 0cmdInserir.Prepared = truecmdInserir.Execute()%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o campo publicado esta como???

Compartilhar este post


Link para o post
Compartilhar em outros sites

e está dando erro nesta linha cmdInserir.CommandTimeout = 0Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Teste Final','Pedala Robinho', 'Estadão', 'www.estadao.com.br', '2005-6-1', '2005-6-2', '2005-6-1', 'True')'. /mauro/inserir2.asp, line 25 linha 25=cmdInserir.CommandTimeout = 0

Compartilhar este post


Link para o post
Compartilhar em outros sites

então pode ser ai o erro...você esta inserindo uma string e não um booleanotira as aspas do true

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais o engraçado é que eu tirei já fiz o seguinte:if(Request("publicado") <> "") then cmdInserir__varPublicado = truee estava assim:if(Request("publicado") <> "") then cmdInserir__varPublicado = Request("publicado")e continua dando 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.