Choclito
04-02-2005, 13:56:27
Hola amigos del foro, nuevamente les pido su muy valiosa ayuda esta vez el problema q tengo es el siguiente
Quiero hacer el registro del tiempo que utiliza un determinado usuario del sistema q ya desarrolle, para eso tengo una tabla
bitacora (
login varchar (15),
fecha_ingreso timestamp,
fecha_salida timestamp,
duracion timestamp,
activo char (1))
donde login es llave foranea, primero hice un proc almacenado para registrar al usuario y la fecha hora que ingresa el problema q tengo es q hice otro pra registrar a que hora sale del sistema y para eso hice lo siguiente:
/*En Ibexpert*/
begin
select b.login
from bitacora b
where (( b.login=:login))into :log;
if (:log is not null) then
begin
update bitacora set
bitacora.fecha_salida=current_timestamp,
bitacora.duracion=cast (current_timestamp-bitacora.fecha_ingreso as timestamp),
bitacora.estado='D'
where (( bitacora.login=:log) and (bitacora.estado='A'));
end
end
pues bien ejecutando el proc almacenado me sale el siguiente error:
Overflow occurred during data type conversion.
conversion error from string "3.263009259".
Ahora nose en que estoy errando o talves es en definir como char o como varchar el campo duracion, o la definicion de los campos fecha_ingreso y fecha_salida pero al hacer me sale de igual forma el error
Me gustaria q el resultado me salga algo asi como :
2:33:12 que indique 2 horas 33 minutos y 12 segundos
Antetodo muchas gracias por la ayuda que me brinden, o talves lo que hice esta mal asi y si fuese asi quisiera porfavor que me indicen otra forma de realizar lo que quiero hacer
Nuevamente muchas gracias por la ayuda que me brinden
Quiero hacer el registro del tiempo que utiliza un determinado usuario del sistema q ya desarrolle, para eso tengo una tabla
bitacora (
login varchar (15),
fecha_ingreso timestamp,
fecha_salida timestamp,
duracion timestamp,
activo char (1))
donde login es llave foranea, primero hice un proc almacenado para registrar al usuario y la fecha hora que ingresa el problema q tengo es q hice otro pra registrar a que hora sale del sistema y para eso hice lo siguiente:
/*En Ibexpert*/
begin
select b.login
from bitacora b
where (( b.login=:login))into :log;
if (:log is not null) then
begin
update bitacora set
bitacora.fecha_salida=current_timestamp,
bitacora.duracion=cast (current_timestamp-bitacora.fecha_ingreso as timestamp),
bitacora.estado='D'
where (( bitacora.login=:log) and (bitacora.estado='A'));
end
end
pues bien ejecutando el proc almacenado me sale el siguiente error:
Overflow occurred during data type conversion.
conversion error from string "3.263009259".
Ahora nose en que estoy errando o talves es en definir como char o como varchar el campo duracion, o la definicion de los campos fecha_ingreso y fecha_salida pero al hacer me sale de igual forma el error
Me gustaria q el resultado me salga algo asi como :
2:33:12 que indique 2 horas 33 minutos y 12 segundos
Antetodo muchas gracias por la ayuda que me brinden, o talves lo que hice esta mal asi y si fuese asi quisiera porfavor que me indicen otra forma de realizar lo que quiero hacer
Nuevamente muchas gracias por la ayuda que me brinden