Tema: mssql
Ver Mensaje Individual
  #5  
Antiguo 17-09-2004
scooterjgm scooterjgm is offline
Miembro
 
Registrado: ago 2004
Posts: 115
Reputación: 20
scooterjgm Va por buen camino
Esta en un componente que se llama Arbol. esta todo declarado y accedo a este valor asi: Arbol.FFechaInicio que se lo paso a la variable asi:
FechaIni:TDateTime;
FechaIni:= Arbol.FFechaInicio;

Durante toda la aplicación uso este dato. Por algún motivo no lo recoje bien y me sale esta fecha en su lugar: 30/12/1899


La consulta del componente la hago asi:

FSqlQuery.Close;
FSqlQuery.SQL.clear;
FSqlQuery.SQLConnection := FSqlConnection;
S:=format('Select ID_FECHA_INI,ID_FECHA_FIN from CNT%s where ID_ISON =''%s'' AND ID_COD_EMP =''%s'' and ID_COD_CONT=''%s''',[FISON+FEMP,FISON,FEMP,FCONT]);
FSqlQuery.SQL.Add(S);
FSqlQuery.Open;
FFechaInicio:= FSqlQuery.fieldbyname('ID_FECHA_INI').asdatetime;
FFechaFin := FSqlQuery.fieldbyname('ID_FECHA_FIN').asdatetime;

Ejecuto este código en el analizador de consultas de SQL Server y me dá los resultados correctos con este formato: 2004-12-31 00:00:00.000

El codigo está en un componente que es el que realiza la consulta. Almacena el valor y luego con la variable recojo ese valor.

Lo de los grids es por otro lado. En la aplicación tengo Grids que si recogen los datos del SQL Server.

No entiendo pq recoje los datos por una parte y luego por la otra no los almacena

¿puede ser del formato de la base de datos?

Antes la tenía en FireBird y funcionaba perfectamente en un campo de tipo DATE, ahora la tengo en un campo de tipo DATETIME. No he cambiado ningún componente ya que con los dbExpress de Delphi7 también puedo acceder a bases de datos MSSQL.

Gracias por todo.
Responder Con Cita