[Lazarus-es] Firebird, Zeos, charset UTF8 y campo tipo Tme

Walter Mesón wmeson en gmail.com
Mie Sep 22 04:15:00 CEST 2010


Hola José...
>
> Lo primero, y sin intentar ofender, esto no es php ni visual basic ;)
José, no hay ofensa alguna en tus lineas, me has aclarado muy bien el 
punto de conflicto....
> Pascal es un lenguaje "fuertemente tipado", y ahí estás forzando el
> uso de "intercambiadores" variant, así que ajusta el tipo:
>
> table.fieldbyname('HORA_START').asTime:=Now;

Fijate vos que cosa, hace al menos 5/6 años que programo en Delphi, y 
sin embargo, en este caso, caigo en un error de pricipiante...je...!!!

>
> Entiendo que así debería de funcionar, pero sólo para "HORA_END" que
> tiene formato "TIME", "HORA_START" tiene formato "TimeStamp", por lo
> tanto has de entregarle una fecha también:
>
> table.fieldbyname('HORA_START').asDateTime:=Now;
> table.fieldbyname('HORA_END').asTime:=Now;
>
> En el DDL pones "default" del timestamp una hora, sin fecha, así que
> la fecha será si no me equivoco 1/1/1753 lo cual te puede liar.
>
> Lo de pasar una hora con formato AM/PM no es buena idea, mejor usa el
> formato de 24 horas (AM/PM en Firebird antes daba error, ahora no
> estoy seguro). De hecho se recomienda pasar una hora como:
>
> HH:NN:SS.mmm con todos sus dígitos: "01:02:03:456" sin omotir ninguno,
> y en la fecha:
>
> CCYY-MM-DD osea, 2010-09-22 para hoy.
>
> http://www.firebirdsql.org/doc/contrib/FirebirdDateLiterals.html
>

Seguí tus indicaciones al pié de la letra y funcionó de maravillas...en 
el ddl les quité lo que ponía por default y funciona perfeco.

Mil gracias por aclararme este punto y gracias a todos lo que colaboraro...

-- 
Gracias.-

Saludos.

* Walter *




More information about the Lazarus-es mailing list