ViniciusJau Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 e ai pessoal.. seguinte... tenho um codigo em que o usuario digita a data para ser gravada no banco de dados...mais está acontecendo o seguinte:quando o ano é maior 2000 ele inverte a posição do dia com a do mês se eu tento salvar qualquer uma data menor que do ano 200 ele funciona... deixa eu explicar melhor, eu tento gravar no banco essa data31/12/2004 quando eu olho no meu banco a data está gravada assim: 2004/31/12o correto era para ser 2004/12/31 ( uma vez que meu banco é em mysql)será que o problema é o tipo de campo que estou usando ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 Pra mostrar uma Data BR:dia=day(rs("data"))mes=month(rs("data"))ano=year(rs("data"))if len(dia)=1 thendia=0 & diaend ifif len(mes)=1 thenmes=0 & mesend ifdata= cstr(dia) & "/" & cstr(mes) & "/" & cstr(ano)Response.write dataAbraços!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 11, 2005 Autor Denunciar Share Postado Fevereiro 11, 2005 o problema não é a consulta.. oproblema é que ele está gravando errado...se eu gravo por exemplo 31/12/1999 eçle grava certo fica assim: 1999/12/31Do ano 2000 pra cima... ele inverte a data com o mês... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 Bicho, não ta gravando errado não, cabe a voce manipular isso ai, também uso mysql aqui e é assim que funciona aqui também, voce manipula ai.. ta valendo?Pois se você pegar day(data) ele retorna o dia certinho, se você dar um month(data) ele retorna o mes certinho e assim por diante..Manipule-os na hora de gravar e exibir..Abraços!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 putz agora que fui entender essa função.... que sujo.... hehehe.. me ajudou também... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 11, 2005 Autor Denunciar Share Postado Fevereiro 11, 2005 certo se não tiver problema tudop bem....o seu também inverte o mês e o dia depois do ano 2000 ??cara será que não é o formato do campo não ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 o meu... é o mes com o dia..... virou uma ***** e dai o site não funciona... mais eu vi essa função uma mil vezes aqui no forum... e achava que ela servia pra um insert... mais agora que reparei que ela separa os dados de campos do tipo data.... então tenta usar ela que funciona .. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 Sim, o meu inverte sim, mas roda perfeitamente aqui.. não sei se essa inversão também está errada não, acho que é normal, mas ACHO pelo fato do campo ser DATE, acho que com o tipo TIMESTAMP talvez fique do jeito que você quer...Se testar com o tipo TIMESTAMP, me de o resultado, ok? Abraços cara.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 11, 2005 Autor Denunciar Share Postado Fevereiro 11, 2005 huahua eu to usando timestamp formato yyyymmdd(8)eu acho que o problema é qunado você insere algum numeor que começa com o ZERO ou que não tenha os dois digitos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 Testei aqui e nem mudou, acho que ainda não é isso.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 11, 2005 Denunciar Share Postado Fevereiro 11, 2005 sei não não mudou muito aqui nos testes hein Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 14, 2005 Autor Denunciar Share Postado Fevereiro 14, 2005 será que se eu mudar a função que grava no bco corrige isso ?? qual vocês usam ai ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Fevereiro 14, 2005 Denunciar Share Postado Fevereiro 14, 2005 Sei não, hein..O que eu costumo fazer é gravar no banco, com o tipo de campo texto.Daí, eu faço os tratamentos que precisar, e sempre funcionou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 14, 2005 Autor Denunciar Share Postado Fevereiro 14, 2005 Sei não, hein..O que eu costumo fazer é gravar no banco, com o tipo de campo texto.Daí, eu faço os tratamentos que precisar, e sempre funcionou. mais no caso se eu precisar fazer uma consulta.... fica um pouco mais complicado não é ???E quando você precisa fazer uma busca baseado em datas.Tipo eventos q ocorrem um determinado periodo? fica utilizando funções q convertem string para data? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Fevereiro 14, 2005 Denunciar Share Postado Fevereiro 14, 2005 ahanisso aeConverto dentro do sql Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 14, 2005 Autor Denunciar Share Postado Fevereiro 14, 2005 nossa.. mais eu ainda não consigo fazer isso.. heheultima tentativa vai... e seu fizer assim: criar três campos no meu formulario dia, mês e ano..dai eu faço assim:<%data = Year(data)&"-"&Month(data)&"-"&Day(data)%>jogo o nome deles será que ele salva no mesmo campo do banco corretamente ???eu tentei fazer isso e escrevi um codigo assim:<% 'pede os dados do formulárioDay = Request.Form("Day") ' linha do erroMonth = Request.Form("Month")Year = Request.Form("Year")%><%data = Year(data)&"-"&Month(data)&"-"&Day(data)%><% If (data = "") thenResponse.write("Você deve digitar a data para continuar")Else set rs = objConnection.execute("INSERT INTO teste (Data) Values('"&data&"')")Response.redirect("enviado.htm")End if%><% call disconnect %>e ele me retornou esse erro:Microsoft VBScript runtime error '800a01f5' Illegal assignment: 'Day' /data/data_cod2.asp, line 6 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Fevereiro 14, 2005 Denunciar Share Postado Fevereiro 14, 2005 usa outro nome de campo e de variavel.Estas 3 variaveis aí, são termos que não podem ser usados assim.O erro daria se você criasse uma variavel com o nome de STRING.Só muda o nome dos campos e variaveis, e teste Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Fevereiro 14, 2005 Denunciar Share Postado Fevereiro 14, 2005 seguinte eu usei aquela função mais... inverti....de DIA/MES/ANO para MES/DIA/ANO porque não teve jeito de inserir a data corretamente no bd... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Fevereiro 14, 2005 Autor Denunciar Share Postado Fevereiro 14, 2005 hum.. eu consegui aqui... dá um look<%Session.LCID = 1046Dim data'pede os dados do formdata = Request.Form("data")data = Year(data) & "-" & Month(data) & "-" & Day(data)%>era isso que faltava......um dia depois:saca só: assim também funciona....:<%VData = split(Request.Form("Data"),"/")data = VData(2) & "-" & VData(1) & "-" & VData(0) %>vocês conseguiram ai também ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ViniciusJau
e ai pessoal.. seguinte... tenho um codigo em que o usuario digita a data para ser gravada no banco de dados...
mais está acontecendo o seguinte:
quando o ano é maior 2000 ele inverte a posição do dia com a do mês
se eu tento salvar qualquer uma data menor que do ano 200 ele funciona...
deixa eu explicar melhor, eu tento gravar no banco essa data
31/12/2004
quando eu olho no meu banco a data está gravada assim:
2004/31/12
o correto era para ser 2004/12/31 ( uma vez que meu banco é em mysql)
será que o problema é o tipo de campo que estou usando ???
Link para o comentário
Compartilhar em outros sites
18 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.