ADO y "DATETIME" como obtener SOLUCIONADO

Post Reply
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

ADO y "DATETIME" como obtener SOLUCIONADO

Post by VitalJavier »

Que tal a todos, buen dia
Estoy trabajando con una MDB de ACCES de un reloj checador
y tienes una tabla de checadas
Esta tabla tiene un campo tipo DATETIME
quiero obtener este campo para saber fecha y hora
peroooooooooooooo
sale en blanco
La conexion a la MDB ya lo tengo
LA creacion del Recor ya esta , pero al ver lo que trae este record en ese campo viene vacio

Alguien me puede echar la mano con eso, no logro obtenerlo.

GetRecSet('SELECT * FROM USERINFO')

Esta es mi coneccion a la MDB

Code: Select all

STATIC FUNCTION ConnectToAccess(__cRuta)
   local lConnect := .f.
   local cStr   := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ;
                   __cRuta+"att2000.mdb;User Id=admin;Password=;"
   IF oCon == nil
      oCon                     := TOleAuto():new("ADODB.Connection")
      oCon:ConnectionString   := cStr
      TRY
         oCon:Open()
         lConnect := .t.
      CATCH
         oCon                  := nil
         MsgInfo('Connect Fail')
         return nil
      END
   ELSE
      lConnect := .t.
   ENDIF
RETURN lConnect
 
Esta es el Record

Code: Select all

STATIC FUNCTION GetRecSet(__Tabla)
   LOCAL oRecSet
   IF oCon != nil .and. oRs == nil
      oRs                     := TOleAuto():new( "ADODB.RecordSet" )
      oRs:ActiveConnection      := oCon
      oRs:Source               := __Tabla
      oRs:LockType            := 4            // adLockOptimistic
      oRs:CursorLocation      := 3            //adUseClient
      oRs:CacheSize            := 100
      TRY
         oRs:Open()
      CATCH 
         MsgInfo('Access Table Open Failure')
         return nil
      END
   ENDIF
   oRecSet         := oRs:Clone()
   IF oRs:RecordCount() > 0
      oRecSet:Sort   := oRecSet:Fields(0):Name
      oRecSet:MoveFirst()
   ENDIF
RETURN oRecSet
 
Last edited by VitalJavier on Wed Feb 10, 2021 5:40 pm, edited 1 time in total.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: ADO y "DATETIME" como obtener

Post by leandro »

Intenta así para que puedas mirar si la consulta trae información

Code: Select all

STATIC FUNCTION GetRecSet(cQuery)
   LOCAL oRecSet
  oRecSet:= FW_OPENRECORDSET(oCon,cQuery,adLockOptimistic,adOpenKeyset)
  nRegi := oRecSet:RecordCount()
  if nRegi!=0
     xbrowse(oRecSet)
  else
     msginfo("vacio")
  endif
  oRecSet:close()
RETURN nil
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: ADO y "DATETIME" como obtener

Post by VitalJavier »

Que tal Leandro
Pues resulta que ha de ser la version de FWH
por que no me funciona FW_OPENRECORDSET
me marca error al compilar.
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: ADO y "DATETIME" como obtener

Post by VitalJavier »

Leandro.

Al ver si trae datos el recordset
lo marco asi : oRs:RecordCount() -> 527,456

?oRs:Fields( "CHECKTIME" ):Value -> VACIO
?Dtoc(oRs:Fields( "CHECKTIME" ):Value) -> 10/02/2021 == Aqui solo me faltaría ver la hora pero no se como

jajajajajaja es una locura,
VitalJavier
Posts: 188
Joined: Mon Jun 10, 2013 6:40 pm

Re: ADO y "DATETIME" como obtener SOLUCIONADO

Post by VitalJavier »

Asi :

Code: Select all

        uData := oRs:Fields( "CHECKTIME" ):Value
        uData := ttos( uData )      
        cFecha := STod(Substr(uData,1,8))
        cHora  := Substr(uData,9,2)+":"+Substr(uData,11,2)+":"+Substr(uData,13,2)

 
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: ADO y "DATETIME" como obtener SOLUCIONADO

Post by Armando »

Javier:

Muchas gracias.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Post Reply