Problemas para inseri somente hora e minutos

Delphi

30/03/2014

Boa noite

Pessoal preciso de um help, tenho dois campos na minha tabela HORAINICIAL e HORAFINAL, os dois do tipo date(banco Oracle), no meu projeto delphi tenho um Tquery, Datasource e um TUpdateSQL, no meu query no campo das horas no DisplayFormat eu coloquei hh:mm e no EdiMask eu coloquei 00:00;1, até ai tudo bem, só que no banco de dados esta salvando 30/12/1899 12:58:00, a hora esta certa mas eu queria que salve se apenas as horas e não aquela data maluca. alguém já fez algum projeto com campos somente de hora e minutos ?

Aguardo.

Obrigado.

PS: No componente TUpdateSQL esta assim:

insert into OSATIVIDADES
(IDOSSERVICOS, ID, SEQUENCIA, CODIGOATIVIDADE, OBSERVACAO, VALOR, VALORDESCONTO, DATAINICIAL, DATAFINAL, HORAINICIAL, HORAFINAL, TOTALTEMPO,
TOTALVALOR)
values
(:IDOSSERVICOS, :ID, :SEQUENCIA, :CODIGOATIVIDADE, :OBSERVACAO, :VALOR, :VALORDESCONTO, :DATAINICIAL, :DATAFINAL, :HORAINICIAL, :HORAFINAL,
:TOTALTEMPO, :TOTALVALOR)
Fabianoluizdb

Fabianoluizdb

Curtidas 1

Respostas

Marcos Saffran

Marcos Saffran

30/03/2014

Bom dia,

para fazer o que você deseja, no seu banco de dados, configure os campos de hora como TIME.
GOSTEI 0
Fabianoluizdb

Fabianoluizdb

30/03/2014

Obrigado pelo retorno, eu tenho dois campos que quero gravar a hora inicial e hora final Ex: 22:53. Como assim 'configure os campos de hora como TIME' fui nos fields do componente e troquei para TIME era isso ? Deu erro "Translate Erro. Value out of bounds."
GOSTEI 0
Marcos Saffran

Marcos Saffran

30/03/2014

Olá,

os dois campos de sua tabela HORAINICIAL e HORAFINAL devem ser alterados para o tipo 'TIME' no banco Oracle.

alter table OSATIVIDADES modify HORAINICIAL TIME;
alter table OSATIVIDADES modify HORAFINAL TIME;

lembre de fazer um backup do seu banco de dados antes de executar as alterações.
GOSTEI 0
Fabianoluizdb

Fabianoluizdb

30/03/2014

Marcos obrigado mais uma vez pelo retorno, tentei fazer o que me sugeria deu erro, disse que não poderia alterar esse campo ai dei um drop na tabela e fiz o create novamente mas agora os campos horas com esse tipo TIME e deu erro, disse que esse tipo de dados é invalido, estou usando oracle 11g. Se tiver mais alguma sugestão esta aceitando.

Obrigado
GOSTEI 0
Marcos Saffran

Marcos Saffran

30/03/2014

Me desculpe,

o comando que indiquei é em mysql, achei que o campo time também existia no oracle.

Esse campo time não existe no oracle, então sugiro que continue com o campo que está e ignore a data que ele está gravando, ou então, altere a data para data atual.
GOSTEI 0
Fabianoluizdb

Fabianoluizdb

30/03/2014

Imaginei hehehehe
Valeu, mais alguém ??
GOSTEI 0
Nelson Santos

Nelson Santos

30/03/2014

Desenvolva softwares 3D em Delphi 7
www.3dsistemas.com.br
GOSTEI 0
Felippe Tadeu

Felippe Tadeu

30/03/2014

No campo da Tquery, apague ele crie ele manualmente e no tipo coloque como Hour
GOSTEI 0
Felippe Tadeu

Felippe Tadeu

30/03/2014

No campo da Tquery, apague ele crie ele manualmente e no tipo coloque como Hour


O campo vc pode colocar inteiro que o próprio Delphi trata da conversão de inteiro para hora ou para data.

Faça o teste para a gente ver
GOSTEI 0
Fabianoluizdb

Fabianoluizdb

30/03/2014

Desculpem pela demora na resposta mas fiquei fora do ar hehehehehe, pessoal obrigado pelos retornos deu certo.
GOSTEI 0
POSTAR