Campo DateTime!!!!!!!!!

MySQL

22/03/2004

Pessoal estou com o seguinte problema:
Meu banco tem uma tabela que tem um campo do tipo DateTime, onde vou querer armazenar uma certa data e hora, e na minha aplicação tenho 2 edits que vao conter a Data e a Hora separadamente, queria saber como vou poder juntar essa data e hora pra guardar no banco. Estou tendo problemas com isto, ja tentei várias maneiras de resolver isto, mas sempre dava erro de tipos no banco ou entao ele gravava tudo zero (0000-00-00 00:00:00) no banco.
Ficaria muito grato se alguem pudesse me ajudar.


Chokito

Chokito

Curtidas 0

Respostas

Chokito

Chokito

22/03/2004

só mais uma coisa que esqueci de informar pessoal, é uso kylix pra essa aplicação!!


GOSTEI 0
Cleisonsilva2004

Cleisonsilva2004

22/03/2004

você pode dizer

tabela.fieldByname(´campodatahora´).asDateTime:=now;

ele pega a data e hora do computador

ou

tabela.fieldByname(´campodatahora´).asDateTime:=time;

ele armazena apenas a hora

tabela.fieldByname(´campodatahora´).asDateTime:=date;

ele armazena apenas a data

depois vc vai no fields e coloca o displayFormat como hh:mm:ss para hora/
e dd/mm/aaaa para data


GOSTEI 0
Henriquem

Henriquem

22/03/2004

Olá,

O Campo datetime no mysql é meio complicadinho mesmo... eu tive esse problema anteriormente!!!
Mude o tipo dos meus parametros para String... ou seja, o tipo do campo da tabela continua sendo datetime, mas na código vc faz assim:

tabela.fieldByname(´campodatahora´).asString := DateToStr(now);

Beleza....


GOSTEI 0
Kandrus

Kandrus

22/03/2004

Você pode utilizar as funções do mysql para ´pegar´ a hora atual do servidor CURTIME() e para pegar a data atual CURDATE()

Para maiores informações acesse http://www.mysql.com/doc/en/Date_and_time_functions.html


GOSTEI 0
Bolasete

Bolasete

22/03/2004

Olá meu amigo,,, vou lhe responder conforme as mesmas
dificuldades que tive no D5, utilizando componentes ZEOs.

Sempre que alterar registros movimentando as datas (date ou
date time) use o seguinte código:

Tabela.Fieldbyname(´Data e hora´).AsVariant:=Variavel_Data;

Se não houver data:

Tabela.Fieldbyname(´Data e hora´).AsVariant:=NULL;

Mas preste atenção: SEMPRE que incluir/alterar registros.

Se a sua base de dados está dando ´erro ao gravar´ utilize
um gerenciador do MYSQL, pode ser o MYSQLFRONT v. 122 e
UPDATE o registro mais ou menos assim:

UPDATE CLIENTES SET DATA_HORA = NULL WHERE CODIGO_CLIENTE=1

e então volte para sua aplicaçao e movimente o registro,
incluindo uma nova data, verificando então que não vai dar
mais mensagem de erro.

Té +,,, Bolasete


GOSTEI 0
POSTAR