Fórum Duvida pra gravar data e hora no IB6. #169465
15/07/2003
0
caros colegas estou com a seguinte dificuldade pra gravar data e hora no interbase 6, criei uma tabela ( Cadastro ) e nela os campos datacad do tipo date e horacad do tipo time, na hora de gravar os dados pelo delphi utilizo a seguinte sintaxe:
ibdatasetdatacad.asdatetime := now;
ibdatasethoracad.asdatetime := now;
até aqui tudo bem mas na hora de dar um post na tabela vem a seguinte mensagem : [b:1e8144337a]Raised Exception class EConvertError with message ´0.19711777´, is not a valid timestamp´. process stopped[/b:1e8144337a], ja tentei de tudo mas nada funcionou.
não consigo entender pois a mensagem de retorno diz sobre timestamp e eu não estou utilizando este tipo de dado.
obs. banco e ibdatabase = dialect 3.
[]´s Oscar Luiz R. de Oliveira
ibdatasetdatacad.asdatetime := now;
ibdatasethoracad.asdatetime := now;
até aqui tudo bem mas na hora de dar um post na tabela vem a seguinte mensagem : [b:1e8144337a]Raised Exception class EConvertError with message ´0.19711777´, is not a valid timestamp´. process stopped[/b:1e8144337a], ja tentei de tudo mas nada funcionou.
não consigo entender pois a mensagem de retorno diz sobre timestamp e eu não estou utilizando este tipo de dado.
obs. banco e ibdatabase = dialect 3.
[]´s Oscar Luiz R. de Oliveira
Oscarluiz
Curtir tópico
+ 0
Responder
Posts
15/07/2003
Dbezerra
caro colega...
provavelmente seu campo no banco eh do tipo TIMESTAMP.
sendo assim, o q vc deveria fazer eh o seguinte:
ibdatasetdatacad.asSQLTimeStamp := DateTimeToSQLTimeStamp(now);
ibdatasethoracad.asSQLTimeStamp := DateTimeToSQLTimeStamp(now);
para usar a funcao ´DateTimeToSQLTimeStamp´ vc deve fazer uses na unit ´SqlTimSt´.
o conselho q eu te dou pra naum ter 2 campos armazenando o mesmo valor eh transformar o campo de hora numa string q armazena a hora da seguinte forma: ´hhmmss´.
gasta menos bytes e acaba com a duplicidade de dados.
feito???
provavelmente seu campo no banco eh do tipo TIMESTAMP.
sendo assim, o q vc deveria fazer eh o seguinte:
ibdatasetdatacad.asSQLTimeStamp := DateTimeToSQLTimeStamp(now);
ibdatasethoracad.asSQLTimeStamp := DateTimeToSQLTimeStamp(now);
para usar a funcao ´DateTimeToSQLTimeStamp´ vc deve fazer uses na unit ´SqlTimSt´.
o conselho q eu te dou pra naum ter 2 campos armazenando o mesmo valor eh transformar o campo de hora numa string q armazena a hora da seguinte forma: ´hhmmss´.
gasta menos bytes e acaba com a duplicidade de dados.
feito???
Responder
Gostei + 0
15/07/2003
Wtjunior
Oscar
Você pode tentar usar a funcão formatdatetime
um abraco
Wilson
Você pode tentar usar a funcão formatdatetime
um abraco
Wilson
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)