Ir para conteúdo

POWERED BY:

Arquivado

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

Cereal_Killer

Erro de data

Recommended Posts

Estou usando a seguinte sql pra cadastrar datas:

sql = "INSERT INTO entrega_trab (protocolo, professor_id, titulo, data) VALUES(" sql = sql & "'" & trim(Request("text_protocolo")) & "'" sql = sql & ", " sql = sql & "'" & trim(Request("select_professor")) & "'" sql = sql & ", " sql = sql & "'" & trim(Request("text_titulo")) & "'" sql = sql & ", " sql = sql & date sql = sql & ");" conector_lato.Execute(sql)

porém no campo "data"(do tipo datetime), onde deveria estar aparecendo a data atual, todos os valores estão saindo como 1/1/1900O que está acontecendo? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif /valeu http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta acontecendo o seguinte, tah entrando vazio! aí ele coloca 1/1/1900sql = "INSERT INTO entrega_trab (protocolo, professor_id, titulo, data) VALUES("sql = sql & "'" & trim(Request("text_protocolo")) & "'"sql = sql & ", "sql = sql & "'" & trim(Request("select_professor")) & "'"sql = sql & ", "sql = sql & "'" & trim(Request("text_titulo")) & "'"sql = sql & ", "sql = sql & NOW()sql = sql & ");" tenta assim! naum sei se funfa, se naum funfar ve o comando CONVERT do SQL, tem um neste mesmo forum bem recente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta acontecendo o seguinte, tah entrando vazio! aí ele coloca 1/1/1900sql = "INSERT INTO entrega_trab (protocolo, professor_id, titulo, data) VALUES("sql = sql & "'" & trim(Request("text_protocolo")) & "'"sql = sql & ", "sql = sql & "'" & trim(Request("select_professor")) & "'"sql = sql & ", "sql = sql & "'" & trim(Request("text_titulo")) & "'"sql = sql & ", "sql = sql & NOW()sql = sql & ");" tenta assim! naum sei se funfa, se naum funfar ve o comando CONVERT do SQL, tem um neste mesmo forum bem recente.OPS. 2 clicks do botao hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, a dica funcionou. agora eu tenho que criar uma busca pra ele.segue o trecho da sql referente a isso

if data1 <>"" and data1 <>" " then if data2 <>"" and data2 <>" " then sql = sql&" and (data_entrega BETWEEN "&FormatDatetime(data1)&" and "&FormatDatetime(data2)&")" end if end if

no banco tem valores de 28/3/2006se eu faço uma busca pra achar entre 20/3/2006 e 30/3/2006 ele não encontra os valores.O q está havendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

ao invez de colocar este FORMATDATETIME DO ASP

 

data1 = day(data1) & "/" & month(data1) & "/" & year(data1)

 

data2 = day(data2) & "/" & month(data2) & "/" & year(data2)

 

if data1 <>"" and data1 <>" " then

if data2 <>"" and data2 <>" " then

sql = sql&" and (data_entrega BETWEEN '"& data1 &"' and '"&data2&"')"

end if

end if

 

e colocar aspas simples

 

obs: se naum funfar inverte o mes pelo dia

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é preciso nem se preocupar com as "/" (barras), o SQL SERVER grava as datas no formato YYYY-MM-DD HH:MIN:SS.MIL, mas para gravar ou pesquisar somente a data, você pode usar 'YYYYMMDD' (sempre entre apóstrofos '' ).Ficaria assim:data1 = year(data1) & month(data1) & day(data1)data2 = year(data2) & month(data2) & day(data2)if data1 <>"" and data1 <>" " thenif data2 <>"" and data2 <>" " thensql = sql&" and (data_entrega BETWEEN '"&data1&"' and '"&data2&"')"end ifend ifAté mais,Renato J. C. Lima

Compartilhar este post


Link para o post
Compartilhar em outros sites

legal, naum sabia !:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é preciso nem se preocupar com as "/" (barras), o SQL SERVER grava as datas no formato YYYY-MM-DD HH:MIN:SS.MIL, mas para gravar ou pesquisar somente a data, você pode usar 'YYYYMMDD' (sempre entre apóstrofos '' ).Ficaria assim:data1 = year(data1) & month(data1) & day(data1)data2 = year(data2) & month(data2) & day(data2)if data1 <>"" and data1 <>" " thenif data2 <>"" and data2 <>" " thensql = sql&" and (data_entrega BETWEEN '"&data1&"' and '"&data2&"')"end ifend if

Legal, Renato... Mas para o que preciso não deu certo. A data que tenho está no com a hora.Ex: ... and (databaixa BETWEEN '20060323' and '20060325')Ele traz todas as datas até 2006-03-25 00:00:00.000. Até aí, legal.Mas a data 2006-03-25 10:35:00.000 é maior, e ele não traz.Como resolver?!??!?Abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Humberto,

 

uma forma de resolver isto seria:

between '20060323 00:00:00.000' and '20060325 23:59:59:999'

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu galera, a forma q eu tentei foi simples, na hora de gravar eu inverto a posição da data. tipo

 

date = month(date) &"/"& day(date) &"/"& year(date)

 

e mando gravar

 

 

valeu a ajuda http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/yay.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.