El Blog de Rafa Cano

20 febrero, 2006

FOXPRO: Tratar campos FechaHora (DateTime) como Fecha (Date) :: PortalFox :: Nada corre como un zorro: "Tratar campos FechaHora (DateTime) como Fecha (Date)
Enviado por: rcano el 13 Feb 2006 - 01:05 AM
Bases de Datos El tema era que quería tratar los datos de tipo T (FechaHora) como los de tipo D (Fecha), ya que atacaba a una B.D. que no tenía tipo de dato Fecha, la solución como siempre en la ayuda ;)


Yo utilizo los objetos CursorAdapter, pues lo que he hecho ha sido usar las propiedades: UseCursorSchema con valor .T., y la propiedad CursorSchema con el valor de los campos del SELECT a ejecutar en el mismo orden de aparición de los campos.

Ej:

oCursor.Alias = 'MiAlias'

oCursor.DataSourceType = 'ODBC' && Tipo ODBC por ejemplo.

oCursor.DataSource = ghndODBC && handle de conexión Odbc.

oCursor.SelectCmd = 'SELECT Id, CampoCar, CampoFechaHora ' + ;
' FROM Tabla WHERE Id = ?pnId'

oCursor.CursorSchema = 'Id I, CampoCar C(30), CampoFechaHora D'

oCursor.UseCursorSchema = .T.

oCursor.CursorFill()


Con esto y si no me he equivocado en el código obtendríamos un cursor con el tipo Fecha en vez del tipo FechaHora. Esta misma solución me ha servido para pasar campos del tipo coma flotante (Float) a campos numéricos con un número determinado de posiciones decimales.