FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour COMO OBTENGO LA HORA DEL SERVER
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
COMO OBTENGO LA HORA DEL SERVER
Posted: Thu Jun 24, 2010 12:53 PM

SALUDOS AL FORO

UTILIZO MYSQL VIA ADO
Y AL INTENTAR OBTENER LA HORA DEL SERVER NO LO PUEDO
LOGRAR, TODAS LAS FUNCIONES ME DEVUELVEN LA FECHA

SI HAGO EL QUERY DIRECTO EN MYSQL, SI OBTENGO LA FECHA Y HORA
PERO POR ADO NO LO LOGRO

UTILIZO XHARBOUR VER 1.1.0

ESTE ES EL CODIGO:

FUNCTION MAIN
oD:=CREARST("SELECT date(SYSDATE())")
XD:=oD:FIELDS(0):VALUE()
MSGINFO(XD,"DATE SYSDATE") && OBTENGO LA FECHA OK
oD:CLOSE()
*
oD:=CREARST("SELECT TIME(SYSDATE())")
XD:=oD:FIELDS(0):VALUE()
MSGINFO(XD,"TIME SYSDATE") && OBTENGO LA FECHA Y NO HORA
oD:CLOSE()
*
oT:=CREARST("SELECT CURDATE()")
XFE:=oT:FIELDS(0):VALUE()
MSGINFO(XFE,"CURDATE") && OBTENGO LA FECHA Y NO FECHA-HORA
ot:CLOSE()
*
oT:=CREARST("SELECT CURTIME()")
XTIME:=oT:FIELDS(0):VALUE()
MSGINFO(XTIME,"CURTIME") && OBTENGO LA FECHA Y NO HORA
ot:CLOSE()
*
oT:=CREARST("SELECT NOW()")
XDATO:=oT:FIELDS(0):VALUE()
MSGINFO(XDATO,"NOW") && OBTENGO LA FECHA Y NO HORA
ot:CLOSE()
RETURN NIL
*
FUNCTION CREARST(cSQL)
TRY
oRs:= TOleAuto():New("adodb.recordset")
CATCH oERRX
MsgStop( "No se ha podido crear el RECORDSET", oApp:cAplicacion)
oRs:= NIL
RETURN(oRS)
END

oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := 2
oRs:Source := cSQL
oRs:ActiveConnection(oApp:oCon)

TRY
oRs:Open()
CATCH oERRX
MsgStop( "No se ha podido abrir el RECORDSET!", oApp:cAplicacion)
RETURN(NIL)
END
RETURN(oRS)

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Re: COMO OBTENGO LA HORA DEL SERVER
Posted: Mon Jun 28, 2010 04:30 PM
Hola Marco,

podrías probar poner

oD:=CREARST("SELECT date(SYSDATE()) AS FECHA ")

en lugar de

oD:=CREARST("SELECT date(SYSDATE())")

para ver si dandole un nombre a la columna funciona?
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Re: COMO OBTENGO LA HORA DEL SERVER
Posted: Mon Jun 28, 2010 07:29 PM
GRACIAS CARLOS POR TU INTERES
SIGUENDO CON TU RECOMENDACION

Code (fw): Select all Collapse
oT:=CREARST("SELECT TIME(SYSDATE()) AS HORA ")
MSGINFO(oT:FIELDS("HORA"):VALUE)
oT:CLOSE()


EL RESULTADO SIGUE SIENDO LA FECHA Y YO NECESITO LA HORA
Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: COMO OBTENGO LA HORA DEL SERVER
Posted: Mon Jun 28, 2010 09:23 PM
Hola, uso la clase TMySQL con este codigo y me retorna los datos en forma correcta: el lio debe estar en el codigo de ADOl
Code (fw): Select all Collapse
cDate := "SELECT CURDATE(), CURTIME()"
oDate := SQLQry(oMySQL, cDate )
dDate := oDate:FieldGet(1) 
cTime := oDate:FieldGet(2)
oApp:dDate := dDate
oApp:cTime := cTime

? dDate, cTime  // OK


Este codigo trabaja correctamente usando EAGLE1
Code (fw): Select all Collapse
cDate := "SELECT CURDATE(), CURTIME()"
oDate := TMSQuery():New( oMySQL )
oDate:Open( cDate )
dDate := oDate:FieldGet(1) //
cTime := oDate:FieldGet(2)
oApp:dDate := dDate
oApp:cTime := cTime

? dDate, cTime
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Re: COMO OBTENGO LA HORA DEL SERVER
Posted: Mon Jun 28, 2010 09:34 PM
Otra opcion para actualizar la pc-estacion con la hora del serVIdor seria usando el comando NET TIME, llamando al servidor cuyo nombre estaria en cNameServer que lo tendria presentes al iniciaL la PC, luego de ejecutar esta funcion tiomas la hora de la pc-estacion con TIME() y listo,,,,,,
Code (fw): Select all Collapse
Function SETDATEHORA()  
local vServer

vServer := "COMMAND.COM /C NET TIME \\" + cNameServer + " /SET /YES"
WaitRun(vServer,0)   // ejecutor externo

Return(Nil)
Posts: 151
Joined: Wed Oct 12, 2005 01:03 PM
Re: COMO OBTENGO LA HORA DEL SERVER
Posted: Mon Jun 28, 2010 10:11 PM

GRACIAS WILLI
VOY A TENER QUE UTILIZAR LAS CLASES QUE ME INDICAS
AUNQUE SOLO SEA PARA TOMAR LA HORA DEL SERVIDOR

LA SEGUNDA OPCION DE NET TIME NO ME FUNCIONA PORQUE
NO ESTOY EN UNA RED LOCAL

GRACIAS

Marco Augusto Rodriguez Manzo

FWH January 2020 Xharbour 1.2.3

MySQL 5.0.19 Fastreport



PERZO SOFT

Sistemas Personalizados

Continue the discussion