[Lazarus-es] Firebird, Zeos, charset UTF8 y campo tipo Tme
José Mejuto
joshyfun en gmail.com
Mie Sep 22 00:39:56 CEST 2010
Hello Walter,
Tuesday, September 21, 2010, 9:36:53 PM, you wrote:
WM> table.Append ;
WM> table.fieldbyname('HORA_START'):=Now;
>> Es así ? Por cierto, que si es "Time" no hay fecha, eres consciente de
>> este hecho no ?
WM> Si...si...
Lo primero, y sin intentar ofender, esto no es php ni visual basic ;)
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;
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
--
Best regards,
José
More information about the Lazarus-es
mailing list