Subject | Re: [IBO] Meaning of error message |
---|---|
Author | slsolutions2002 |
Post date | 2002-03-03T16:22:40Z |
Thanks Hellen. Your info was most helpfull. As far as unpreparing
goes, I read in one of the interbase docs that you should unprepare
to free up server resources. If you say IBO handles this, that's
good enough for me.
Thanks again
goes, I read in one of the interbase docs that you should unprepare
to free up server resources. If you say IBO handles this, that's
good enough for me.
Thanks again
--- In IBObjects@y..., "Helen Borrie (TeamIBO)" <helebor@d...> wrote:
> At 02:18 PM 02-03-02 +0000, you wrote:
> >Hello Hellen:
> >
> >I have done all of the above and still had the problem.
>
> [snip]
>
> In any case I
> >started to think about what was different in this program
>
> Cool, now we get some useful information...
>
>
> >CREATE DOMAIN dmTRUEFFALSE AS CHAR(1)
> > DEFAULT 'T'
> > NOT NULL
> > CHECK (VALUE IN('T','F'));
> >
> >In my table I have a field as follows:
> >
> >Posted dmTRUEFALSE
> >
> >In my applications TIB_DATASOURCE.ONSTATECHANGED event I have the
> >follows code:
> >Var b : Boolean;
> >b := MYQuery.FieldByName('Posted').AsBoolean;
> >
> >This causes the error.
>
> Yes, it does. Firebird/InterBase doesn't have a Boolean type.
Creating a
> domain to represent a boolean does *not* make it a boolean...
>
> But IBO can.
>
> Go to the ColumnAttributes page of the dataset editor, find that
column and
> set its BOOLEAN attribute to True and enter the true and false
values as
> stored in the database.
>
> Alternatively (better) go to the TIB_Connection and set it by its
domain at
> a global level in the ColumnAttributes array for the whole
database. Just
> make this one-line entry:
>
> dmTRUEFALSE=BOOLEAN=T,F
>
> In this case, include the fetDomainName member in the
FieldEntryTypes set.
>
> >Can someone else try this to see if they get the same error?
>
> I'm sure that one source of error will go away if you set things up
> properly for your boolean domain.
>
> You did the right thing to remove the call to Unprepare in your
> FormClose. Firstly, you don't need it because it's already taken
care
> of. But you can always expect an error if you call Unprepare in
> unprotected code. If you have this overwhelming urge to Unprepare
a
> dataset yourself, then always test first whether it is prepared.
>
>
> regards,
> Helen Borrie (TeamIBO Support)
>
> ** Please don't email your support questions privately **
> Ask on the list and everyone benefits
> Don't forget the IB Objects online FAQ - link from any page at
> www.ibobjects.com