Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2011-06

Como saber cuando un campo de fecha es nulo

12 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Ismael L. Donis García

Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor nulo y no lo he logrado conseguir. Como podr�a averiguar si es nulo o no?

Estoy haciendo lo siguiente pero me dice que no tiene un valor nulo y sin embargo si lo est� en la BD.

if (dm.rssc1.FieldByName('mespro').AsDateTime = null) then

Saludos
=========
|| ISMAEL ||
=========
------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110617/19f5f278/attachment.html>

Reply by email

christian Ortiz
to Ismael L. Donis García

intenta esto

if (dm.rssc1.FieldByName('mespro').ASString= '') then

El 17/06/11, Ismael L. Donis Garc�a <ismael en citricos.co.cu> escribi�:

Show quoted text 12 lines
Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor nulo y no lo he logrado conseguir. Como podr�a averiguar si es nulo o no? Estoy haciendo lo siguiente pero me dice que no tiene un valor nulo y sin embargo si lo est� en la BD. if (dm.rssc1.FieldByName('mespro').AsDateTime = null) then Saludos ========= || ISMAEL || =========
Christian

Reply by email

Ismael L. Donis García
to christian Ortiz

Perfecto.

1 Mill�n de Gracias
=========
|| ISMAEL ||
=========

Earlier message 31 lines
----- Original Message ----- From: "christian Ortiz" <xortix en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, June 17, 2011 10:08 AM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo intenta esto if (dm.rssc1.FieldByName('mespro').ASString= '') then El 17/06/11, Ismael L. Donis Garc�a <ismael en citricos.co.cu> escribi�: > Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor > nulo y no lo he logrado conseguir. Como podr�a averiguar si es nulo o no? > > Estoy haciendo lo siguiente pero me dice que no tiene un valor nulo y sin > embargo si lo est� en la BD. > > if (dm.rssc1.FieldByName('mespro').AsDateTime = null) then > > Saludos > ========= > || ISMAEL || > ========= -- Christian

Reply by email

José Mejuto
to Ismael L. Donis García: Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor nulo y no lo…

Hello Ismael,

Friday, June 17, 2011, 3:13:43 PM, you wrote:

ILDG> Estoy tratando de conocer si un campo tipo DATE en ILDG> firebird tiene un valor nulo y no lo he logrado conseguir. Como ILDG> podr�a averiguar si es nulo o no?

if xxxx.FieldByName('Campo').Value=NULL then ...

No uses el AsString, el resultado de '' lo puedes obtener sin que el campo sea NULL.

Best regards, Jos�

Reply by email

Maxi
to Ismael L. Donis García: Perfecto. 1 Mill�n de Gracias ========= || ISMAEL || ========= ----- Original Message…

no esta implementada la funcion fieldbyname().isnull?

El 17 de junio de 2011 11:46, Ismael L. Donis Garc�a <ismael en citricos.co.cu>escribi�:

Show quoted text 51 lines
Perfecto. 1 Mill�n de Gracias ========= || ISMAEL || ========= ----- Original Message ----- From: "christian Ortiz" <xortix en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.** freepascal.org <lazarus-es en lists.lazarus.freepascal.org>> Sent: Friday, June 17, 2011 10:08 AM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo intenta esto if (dm.rssc1.FieldByName('mespro'**).ASString= '') then El 17/06/11, Ismael L. Donis Garc�a <ismael en citricos.co.cu> escribi�: > Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor > nulo y no lo he logrado conseguir. Como podr�a averiguar si es nulo o no? > > Estoy haciendo lo siguiente pero me dice que no tiene un valor nulo y sin > embargo si lo est� en la BD. > > if (dm.rssc1.FieldByName('mespro'**).AsDateTime = null) then > > Saludos > ========= > || ISMAEL || > ========= > -- Christian ______________________________**_________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es> ______________________________**_________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.**freepascal.org<Lazarus-es en lists.lazarus.freepascal.org> http://lists.lazarus.**freepascal.org/mailman/**listinfo/lazarus-es<http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es>
No a la obsolecencia programada: http://dimensionargentina.blogspot.com/2011/01/todo-esta-disenado-para-romperse.html Twitter: @nenunocomar Identi.ca: @nenuno Linux User #495070 Ubuntu User #28504 http://miexperiencialinux.blogspot.com/ El que pregunta aprende, y el que contesta aprende a responder. ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20110617/dd7493e5/attachment.html>

Reply by email

Ismael L. Donis García
to José Mejuto: ILDG> Estoy tratando de conocer si un campo tipo DATE en ILDG> firebird tiene un valor…

Perfecto. 1 Mill�n de Gracias Reiteradas

Ahora tengo otro problema.

Estoy tratando de ejecutar un procedimiento almacenado para actualizar la fecha y la paso de la siguiente forma:

LParam.Add('dMesa');
LValor.Add(formatdatetime('yyyy/mm/',dtmmesa) + '01');

Con lo que el par�metro queda con el siguiente valor, por ejemplo: '2011/06/17'

Y de esta forma lo asigno al TSQLQuery llamado rsusc

rsusc.Params.ParamByName(LParam[i]).AsDate:=StrToDate(LValor[i])

Pero me da error de fecha invalida al tratar de convertir la fecha, �sea la funci�n StrToDate('2011/06/17')

Trato de usar el formato 'yyyy/mm/dd' porque nunca he tenido problemas en la conversi�n de fechas usando ese tipo de formato. Esto con Visual Basic. Y es lo que estoy tratando de aplicar en Lazarus.

Saludos Reiterados a to2s
=========
|| ISMAEL ||
=========

Earlier message 26 lines
----- Original Message ----- From: "Jos� Mejuto" <joshyfun en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, June 17, 2011 11:32 AM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo Hello Ismael, Friday, June 17, 2011, 3:13:43 PM, you wrote: ILDG> Estoy tratando de conocer si un campo tipo DATE en ILDG> firebird tiene un valor nulo y no lo he logrado conseguir. Como ILDG> podr�a averiguar si es nulo o no? if xxxx.FieldByName('Campo').Value=NULL then ... No uses el AsString, el resultado de '' lo puedes obtener sin que el campo sea NULL. -- Best regards, Jos�

Reply by email

Ismael L. Donis García
to Maxi: no esta implementada la funcion fieldbyname().isnull? El 17 de junio de 2011 11:46,…

No sab�a de su existencia. Perdona por no haber buscado bien, la verdad me debo un coscorr�n.

Saludos Cordiales
=========
|| ISMAEL ||
=========

Earlier message 50 lines
----- Original Message ----- From: Maxi To: Spanish version of Lazarus List Sent: Friday, June 17, 2011 12:07 PM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo no esta implementada la funcion fieldbyname().isnull? El 17 de junio de 2011 11:46, Ismael L. Donis Garc�a <ismael en citricos.co.cu> escribi�: Perfecto. 1 Mill�n de Gracias ========= || ISMAEL || ========= ----- Original Message ----- From: "christian Ortiz" <xortix en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, June 17, 2011 10:08 AM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo intenta esto if (dm.rssc1.FieldByName('mespro').ASString= '') then El 17/06/11, Ismael L. Donis Garc�a <ismael en citricos.co.cu> escribi�: Estoy tratando de conocer si un campo tipo DATE en firebird tiene un valor nulo y no lo he logrado conseguir. Como podr�a averiguar si es nulo o no? Estoy haciendo lo siguiente pero me dice que no tiene un valor nulo y sin embargo si lo est� en la BD. if (dm.rssc1.FieldByName('mespro').AsDateTime = null) then Saludos ========= || ISMAEL || ========= -- Christian

Reply by email

Ismael L. Donis García
to José Mejuto

En 0.9.30.1 SVN 31190 y FPC 2.4.4 que es la que actualmente estoy usando tambi�n.

Saludos Reiterados
=========
|| ISMAEL ||
=========

Earlier message 21 lines
----- Original Message ----- From: "Jos� Mejuto" <joshyfun en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, June 17, 2011 12:56 PM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo Hello Maxi, Friday, June 17, 2011, 6:07:47 PM, you wrote: M> no esta implementada la funcion fieldbyname().isnull? Antes creo que no, ahora sip, al menos en 2.5.1. -- Best regards, Jos�

Reply by email

José Mejuto
to Ismael L. Donis García: Perfecto. 1 Mill�n de Gracias Reiteradas Ahora tengo otro problema. Estoy tratando de…

Hello Ismael,

Friday, June 17, 2011, 6:47:14 PM, you wrote:

ILDG> Perfecto. 1 Mill�n de Gracias Reiteradas
ILDG> Ahora tengo otro problema.
ILDG> Estoy tratando de ejecutar un procedimiento almacenado para actualizar la ILDG> fecha y la paso de la siguiente forma:
ILDG> LParam.Add('dMesa');
ILDG> LValor.Add(formatdatetime('yyyy/mm/',dtmmesa) + '01'); ILDG> Con lo que el par�metro queda con el siguiente valor, por ejemplo: ILDG> '2011/06/17'
ILDG> Y de esta forma lo asigno al TSQLQuery llamado rsusc ILDG> rsusc.Params.ParamByName(LParam[i]).AsDate:=StrToDate(LValor[i]) ILDG> Pero me da error de fecha invalida al tratar de convertir la fecha, �sea la ILDG> funci�n StrToDate('2011/06/17')

StrToDate transforma una fecha en el formato _actual_ del _locale_. VisualBasic te lo acepta por que infiere que el primer n�mero es el a�o al tener 4 d�gitos, pero es simple especulaci�n.

Usa:

rsusc.Params.ParamByName(LParam[i]).AsDate:=StrToDate(LValor[i],'yyyy/mm/dd');
Best regards, Jos�

Reply by email

Ismael L. Donis García
to José Mejuto

Que decirte, casi perfecto. Me hiciste pensar, qued� de la siguiente forma:

rsusc.Params.ParamByName(LParam[i]).AsDate:=StrToDate(LValor[i],'yyyy/mm/dd','/')

Tuve que investigar porque como tu me dijiste me ped�a una variable CHAR y le estaba pasando una constante string

Lo saque de datih.inc

function StrToDate(const S: ShortString; separator : char):
TDateTime;{$ifdef SYSUTILSINLINE}inline;{$endif}
function StrToDate(const S: ShortString; const useformat : string; separator
: char): TDateTime;{$ifdef SYSUTILSINLINE}inline;{$endif}

1 Mill�n de Gracias Reiteradas
=========
|| ISMAEL ||
=========

Earlier message 23 lines
----- Original Message ----- From: "Jos� Mejuto" <joshyfun en gmail.com> To: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Sent: Friday, June 17, 2011 2:21 PM Subject: Re: [Lazarus-es] Como saber cuando un campo de fecha es nulo Hello Ismael, StrToDate transforma una fecha en el formato _actual_ del _locale_. VisualBasic te lo acepta por que infiere que el primer n�mero es el a�o al tener 4 d�gitos, pero es simple especulaci�n. Usa: rsusc.Params.ParamByName(LParam[i]).AsDate:=StrToDate(LValor[i],'yyyy/mm/dd'); -- Best regards, Jos�

Reply by email