Error al traer fecha de la DB 1899
Publicado por tomas (2 intervenciones) el 02/11/2019 15:50:24
Buenas tardes a todos , este es mi primer post , a ver si alguien me puede ayudar a resolver lo que me pasa.
si coloco el SELECT abajo mostrado en el sql string del componenete adoquery me trae los datos a la perfeccion y me los muestra en un componente dbgrid automaticamte ya q tengo un datasource asociado al dbgrid.
el problema aparece cuando lo quiero hacer por codigo
Tengo un tabla en una DB con varios campos uno de ellos es el campo fecha, cuando ejectuto el codigo en la linea con el asterisco me trae una fecha cualquiera 1899-12-30,
el decodedate que sigue es porque desp necesito comparar una fecha ingresada mediente un datetimepicker contra la fecha de la tabla de la db.
como hago para q me ponga la fecha correcta , en vez de 1899 etc...
gracias por su tiempo , espero q alguien pueda darme una mano
si coloco el SELECT abajo mostrado en el sql string del componenete adoquery me trae los datos a la perfeccion y me los muestra en un componente dbgrid automaticamte ya q tengo un datasource asociado al dbgrid.
el problema aparece cuando lo quiero hacer por codigo
Tengo un tabla en una DB con varios campos uno de ellos es el campo fecha, cuando ejectuto el codigo en la linea con el asterisco me trae una fecha cualquiera 1899-12-30,
el decodedate que sigue es porque desp necesito comparar una fecha ingresada mediente un datetimepicker contra la fecha de la tabla de la db.
como hago para q me ponga la fecha correcta , en vez de 1899 etc...
gracias por su tiempo , espero q alguien pueda darme una mano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
Y,M,D,Ydb,Mdb,Ddb: Word;
FechaDB: TDate; // tambien la he declarado como TDateTime;
FechaDB:=-1000000;
ADOQuery2.Active:= false;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add ('SELECT Fecha, Monto, NumeroSobre FROM tabladatosentrada
WHERE varios = :var_sol ORDER BY Fecha DESC ');
ADOQuery2.Parameters.ParamByName('var_sol').Value := TLabelSol.Caption;
*** FechaDB:= ADOQuery2.FieldByName('Fecha').AsDateTime;
Decodedate(FechaDB,Ydb,Mdb,Ddb);
Showmessage('el año es' +IntToStr(Ydb));
Showmessage('el mes es' +IntToStr(Mdb));
Showmessage('el dia es' +IntToStr(Ddb));
Decodedate(DateTimePicker1.Date,Y,M,D);
ADOQuery2.Active:=true;
ADOQuery2.ExecSQL;
Valora esta pregunta


0