Duvida pra gravar data e hora no IB6.
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
Curtidas 0
Respostas
Dbezerra
15/07/2003
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???
GOSTEI 0
Wtjunior
15/07/2003
Oscar
Você pode tentar usar a funcão formatdatetime
um abraco
Wilson
Você pode tentar usar a funcão formatdatetime
um abraco
Wilson
GOSTEI 0