FoxPro/Visual FoxPro - almacenar hora en una tabla

 
Vista:

almacenar hora en una tabla

Publicado por Cass (1 intervención) el 16/11/2001 20:00:02
Tengo un campo de tipo datetime pero solo quiero almacenar la hora. El formato del campo me aparece como feha y hora y al almacenar unicamente la hora con la funcion time, me manda un error de tipo de datos no coincidentes. Como puedo almacenar unicamente la hora con el campo de tipo datetime o tengo que necesariamente almacenarla como cadena de texto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:almacenar hora en una tabla

Publicado por DALSOM (612 intervenciones) el 17/11/2001 11:07:11
SIEMPRE HE MANEJADO LA HORA COMO CADENA, Y VALIDARLA CON UNA FUNCION PARA ELLO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:almacenar hora en una tabla

Publicado por TITO ARAYA (356 intervenciones) el 18/11/2001 23:06:11
Cass, tu duda es valida y deberia existir una funcion que resolviera ese problema. La respuesta de DALSOM no me convence mucho pues si uno quiere hacer una operacion con las horas guardadas en formato "cadena" como las menciona el, entonces habria que traducirlas nuevamente a formato TIME lo que me parece un retroceso en relacion a versiones muy anteriores de FOX PRO (incluyendo la version DOS). En consecuencia como te prodras haber dado cuenta yo tambien tengo el mismo problema.
Es de esperar que alguien de una respuesta categorica.
Saludos,
TITO ARAYA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

una combinacion

Publicado por wences (457 intervenciones) el 01/12/2001 09:46:21
Yo uso una combinacion , guardo como datetime los campos , pero los trato por separado ... es decir tengo un campo para la fecha y otro para la hora , y este lo comprueba a su vez con una pequeña clase , para comprobar que el contenido es una hora valida (ya que el campo es caracter) ... y luego lo guardo mas o menos asi :

if !empty(thisform.campos(13))
replace servicio.svisitat with datetime(year(thisform.campos(13)),month(thisform.campos(13)),day(thisform.campos(13)),val(substr(thisform.campos(21),1,2)),val(substr(thisform.campos(21),3,2)))
replace servicio.stiponotan with thisform.campos(14)
else
replace servicio.svisitat with { / / }
replace servicio.stiponotan with 0
endif

y lo recupero mas o menos asi :

thisform.campos(13)=ctod(dtoc(servicio.svisitat))
thisform.campos(21)=substr(ttoc(servicio.svisitat),12,2)+substr(ttoc(servicio.svisitat),15,2)

----

como ves es una combinacion de campos datetie y caracter ... ademas tengo otra clase para comprobar si las horas son correctas o si la primera es menor que la segunda para calcular el tiempo real ... si la necesitas o la quieres ver mandame un correo ...

Espero te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar