13 de febrero de 2006

Tratar campos FechaHora (DateTime) como Fecha (Date)

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.

Rafael Cano

No hay comentarios. :

Publicar un comentario