Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Com Data...


ViniciusJau

Pergunta

seguinte... eu tenho um form que grava uma data no meu banco a pessoa digita a data....

porem estou com o seguinte problema...

a primeira data a pessoa digita no formulário: xx/xx/xxxx (incluindo as barras)

só que no banco ela está gravando assim: 0000-00-00,

acho que isso ocorre porque o mysql entende como numeros invalidos para o campo e cadastra zero

como eu faço para arrumar essa data ???

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

Vinicius, isso acontece porque o formato de hora padrão do MySql é esse YYYY-mm-dd, então quando você manda gravar ele não entende como data e grava o valor padrão do campo. Pois bem, ai vão duas funções que transformam uma data em ASP para o formato do MySql, uma transforma só em data a outra em data/hora:

':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function formataDataHora(dtValor)
 Dim strRetorno

 strRetorno = Year(dtValor) & "-" & Month(dtValor) & "-" & Day(dtValor) & _
              chr(32) & Hour(dtValor) & ":" & Minute(dtValor) & ":" & Second(dtValor)

 formataDataHora = strRetorno
end function
':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function formataDataRapido(dtValor)
 Dim strRetorno

 if isDate(dtValor) then
    strRetorno = Year(dtValor) & "-" & Month(dtValor) & "-" & Day(dtValor)
 else
  strRetorno = ""
 end if

 formataDataRapido = strRetorno
end function
':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Para extrair as datas depois no formato adequado, use a função DATE_FORMAT do MySql, assim:
SELECT DATE_FORMAT(data, '%d/%m/%Y') FROM tabela

Link para o comentário
Compartilhar em outros sites

  • 0

legal valeu felipe....

mais uma perg...

tenho um form que grava no BD a hora e a data que a pessoa enviou o formulário.....

eu estou fazendo assim:

<%

'pega a data do servidor

dia = date

'e aqui a hora do servidor

hora = time

%>

"INSERT INTO TABELA (Dia,Hora,....) Values('"&dia&"','"&Data&"' etc etc...

e ele gravou a data assim: 2002-09-20

dai pensei que a data no servidor poderia estar errada, então criei um arquivo para mostrar a data e conferir:

Hoje é <%=date%>

e ele me exibiu isso: 2/9/2005

então pelo que eu percebi ele está no formato MES/DIA/ANO é isso ?? blink.gif

isso eu tenho que corrigir no meu banco ou tenho que criar uma função ??

Link para o comentário
Compartilhar em outros sites

  • 0

e como você vai chamar essa função

function formataDataRapido(dtValor)

Dim strRetorno

if isDate(dtValor) then

  strRetorno = Year(dtValor) & "-" & Month(dtValor) & "-" & Day(dtValor)

else

strRetorno = ""

end if

formataDataRapido = strRetorno

end function

thiago

Link para o comentário
Compartilhar em outros sites

  • 0

num deu muito certo não....

eu fiz meu codigo assim:

<%

'pede os dados do formulário

Data = Request.Form("Data")

%>

<%

'formatando a data para gravar no BD

function formataDataRapido(Data)

Dim strRetorno

if isDate(Data) then

   strRetorno = Year(Data) & "-" & Month(Data) & "-" & Day(Data)

else

strRetorno = ""

end if

formataDataRapido = strRetorno

end function

%>

<% If (Data = "") then

Response.write("Você deve digitar a data para continuar")

Else

  set rs = objConnection.execute("INSERT INTO TABELA (data) Values('"&Data&"')

será que porque o valor vem do formulário com as barras ??? por exemplo: 31/03/1983

eu troquei a validação no meu form por - e o erro continuou na mesma

Link para o comentário
Compartilhar em outros sites

  • 0

Vinicius, você tá chamando a função?? (Já respondendo a pergunta do nosso Guest), Veja se isso resorve:

<%
'pede os dados do formulário
Data = Request.Form("Data")
%>

<%
'formatando a data para gravar no BD
function formataDataRapido(Data)
Dim strRetorno

if isDate(Data) then
   strRetorno = Year(Data) & "-" & Month(Data) & "-" & Day(Data)
else
strRetorno = ""
end if

formataDataRapido = strRetorno
end function
%>


<% If (Data = "") then
Response.write("Você deve digitar a data para continuar")
Else
  set rs = objConnection.execute("INSERT INTO TABELA (data) Values('"&formataDataRapido(Data)&"'")

Link para o comentário
Compartilhar em outros sites

  • 0
Vinicius, você tá chamando a função?? (Já respondendo a pergunta do nosso Guest), Veja se isso resorve:

<%
'pede os dados do formulário
Data = Request.Form("Data")
%>

<%
'formatando a data para gravar no BD
function formataDataRapido(Data)
Dim strRetorno

if isDate(Data) then
   strRetorno = Year(Data) & "-" & Month(Data) & "-" & Day(Data)
else
strRetorno = ""
end if

formataDataRapido = strRetorno
end function
%>


<% If (Data = "") then
Response.write("Você deve digitar a data para continuar")
Else
  set rs = objConnection.execute("INSERT INTO TABELA (data) Values('"&formataDataRapido(Data)&"'")

wrwr

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...