www.clarioneros.com

El rincón de los desarrolladores
Fecha actual Mar Feb 20, 2018 1:49 pm

Todos los horarios son UTC




Nuevo tema Responder al tema  [ 3 mensajes ] 
Autor Mensaje
NotaPublicado: Sab Ago 02, 2014 9:39 pm 
Desconectado

Registrado: Vie Jul 04, 2014 4:42 pm
Mensajes: 7
Hola clarioneros,

Estoy trabajando con Clarion 6.2 y microsoft sql server 2005, en mi base de datos sql tengo un campo tipo DATETIME para almacenar la hora. Desde clarion realizo una consulta sql a la base de datos para consultar la hora de algunos registros, mi pregunta es ¿como convierto ese valor tipo DATETIME en un valor tipo TIME en clarion?

Capturo las columnas de la sentencia sql mediante una dummy table llamada sqlfile, columna 1 (sql:c1), columna 2 (sql:c2), etc...
Para este caso sql:c1=fecha y sql:c2=hora, al recorrer la sentencia sql voy guardando esos valores en un Queue con dos campos fecha tipo DATE y hora tipo TIME, para la fecha uso la instruccion deformat para convertir el DATETIME de sql en un valor tipo DATE, pero para la hora ningun TIME PICTURE de clarion me sirve...

Les dejo una porción de mi código..

Picture Format Result

@T1 hh:mm 17:30
@T2 hhmm 1730
@T3 hh:mmXM 5:30PM
@T03 hh:mmXM 05:30PM
@T4 hh:mm:ss 17:30:00
@T5 hhmmss 173000
@T6 hh:mm:ssXM 5:30:00PM
@T7 Windows Control Panel setting for Short Time
@T8 Windows Control Panel setting for Long Time

Código:
!Mi codigo
sqlfile{prop:sql} = 'select fecha, hora from mitabla'
    loop
        next(sqlfile)
        if error() then break.

        clear(miQueue)
        miQu:fecha = deformat(sql:c1, @d10-)
        miQu:hora = sql:c2
        add(miQueue)
    end


Muchas gracias


Arriba
 Perfil Email  
 
NotaPublicado: Lun Ago 04, 2014 7:56 am 
Desconectado
Avatar de Usuario

Registrado: Dom Feb 06, 2011 9:34 am
Mensajes: 1018
Ubicación: España
Asumiendo que tu tabla dummy tiene los campos como cstring tenés que usar la función sub para tomar la parte correspondiente de la fecha y la hora. Por ejemplo: sub(sql:c1,1,10) te va a devolver la fecha y sub(sql:c1, 12,8) te devolverá la hora.

_________________
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


Arriba
 Perfil Email  
 
NotaPublicado: Lun Ago 04, 2014 1:56 pm 
Desconectado

Registrado: Vie Jul 04, 2014 4:42 pm
Mensajes: 7
Hola,
muchas gracias Mauricio, me sirvio perfectamente tu solución, efectivamente my dummy table maneja todos los campos como cstrings

De nuevo muchas gracias


Arriba
 Perfil Email  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 3 mensajes ] 

Todos los horarios son UTC


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Saltar a:  
Powered by phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com