Ir para conteúdo

POWERED BY:

Arquivado

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

K0dak

Invertando data ao gravar

Recommended Posts

Comecei a ter um problema ao gravar data no mysql e nao consigo descobrir.

 

A data é gravada via asp no padrao dd/mm/aaaa

 

O problema é o seguinte, se eu gravar qualquer data até dia 12, no mysql fica gravado yyyy-mm-dd

Mas se eu gravar qualquer data depois do dia 12, no mysql fica yyyy-dd-mm

 

Engine: MyIsam

Collation: utf8-general-ci

Campo: Date

 

Vlw pela ajuda

 

Diogo

Compartilhar este post


Link para o post
Compartilhar em outros sites

MySQL

 

Tabela: Teste

Campo: ident (tipo: SMALLINT)

Campo: data (tipo: DATE)

 

HTML

 

Formulário com um input text que recebe uma data no formato dd/mm/aaaa

 

ASP

 

SQL = "SELECT * FROM teste WHERE ident = 0
Set RSTemp = Server.CreateObject("ADODB.RecordSet")
RSTemp.ActiveConnection = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=XXXXX;USER=XXXXX;PASSWORD=XXXXXX;OPTION=3;"
RSTemp.Source = SQL
RSTemp.CursorType = 1
RSTemp.CursorLocation = 3
RSTemp.LockType = 3
RSTemp.Open()
if RSTemp.eof then
RSTemp.AddNew()
RSTemp(ident) = 1
End if
RSTemp("Data") = Request.Form("txtdata")
RSTemp.Update()
Set RSTemp = nothing
ERRO
Se eu digitar no campo 20/07/2014, no banco fica gravado 2014-07-20 (yyyy-mm-dd)
Mas se eu digitar 02/05/2014, no banco fica gravado 2014-02-05 (yyyy-dd-mm)
Agradeço pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma DATE ou DATETIME não é gravada em um formato,

Internamente é gravada em um inteiro que tem o número de segundos(por exemplo) para uma determinade data base de cálculo.

O que vemos num select é o formato padrão de exibicão que pode ser modificado.



https://dev.mysql.com/doc/refman/5.0/en/datetime.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é porque esta gravando errado

 

A tabela é a mesma, o código para inserir e selecionar é o mesmo, mas em datas com dia maior que 12 ele grava correto, menor que 12 ele inverte, entao quando vou fazer uma consulta por data nao funciona.

 

Tudo funcionava perfeitamente na locaweb, fui mudar pra outro e agora da este problema, nao tem como definir um padrao para campo data?

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.