Subject | Re: Time Field: Trouble updateing in FB 2.1 from Delphi 2007 |
---|---|
Author | homerjones1941 |
Post date | 2012-01-16T05:10:32Z |
--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@...> wrote:
I try to stay as far away from BDE as possible. I'm using IBDac components (the latest Devart stuff).
I haven't tried to create an "INSERT INTO" query, but that's next. Perhaps DSQL will handle the time field properly.
>Wow. Thanks for the quick response. I tried the "QuotedStr" solution but got yet another error: 'Could not convert variant of type (String) into type (Date).'
> At 05:19 PM 16/01/2012, homerjones1941 wrote:
> >I've searched past posts, but haven't been able to find solution.
> >
> >I have a Time FieldType in a FB 2.1 DB and have been unable to insert a time value into that field. I've tried the following (Note: I've resulted to hard coding the values to eliminate possible formatting issues caused by me):
> >
> > FieldByName('AlarmTime').Value := '4:30:00 PM';
> > FieldByName('AlarmTime').Value := '11:30:00 PM';
>
> Not a valid TIME literal. The format uses the 24-hr clock and takes the form
> hh:nn:ss.nnnn or hh:nn:ss.nnn
>
> If you don't care about sub-seconds, use zeroes there.
>
> >Error message is '0.0 is not a valid Timestamp.'
>
> If you are absolutely sure that column is TIME and not TIMESTAMP then I would guess you are using the (broken) old BDE. The last-ever was v.5.2 and the Dialect 3 date/time support still didn't work properly.
>
> >If I omit the "PM" the error message is similar.
> > FieldByName('AlarmTime').Value := '4:30:00';
>
> It's a gamble assigning any date or time values to the Value property of a VCL parameter but in this case it's obviously not working because your interface (whatever it is) doesn't recognise that as time literal. If you want to persevere, I suggest you try one of the following:
> FieldByName('AlarmTime').Value := QuotedStr ('04:30:00');
> FieldByName('AlarmTime').Value := ''04:30:00''; // doubled apostrophes NOT double quotes
>
> >Error Message is '693594. -1073258496 is not a valid Timestamp.'
>
> And that's not a valid Firebird message, either.
>
> >I've tried using TDateTime values with similar results.
>
> Using AsDateTime???
>
> ./heLen
>
I try to stay as far away from BDE as possible. I'm using IBDac components (the latest Devart stuff).
I haven't tried to create an "INSERT INTO" query, but that's next. Perhaps DSQL will handle the time field properly.