Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread eConvertError
Wed, Apr 5 2006 1:51 AMPermanent Link

"Clive"
When this SQL gets run from my App I geta eConvertException saying
40000009968  is not a valid integer.
update "\memory\cont1" set direct_materials = 40000009968  where
category_code = 63520 and period = '2005-07-01';

The coloumn direct_materials is a float column and the update works if the
data generates a decimal place

for example

update "\memory\cont1" set direct_materials = 40000009968.5  where
category_code = 63520 and period = '2005-07-01';

Does not generate an exception
However both updates do seem to work..
This is on 4.23 B2

I searched the NG and found post 10115 which discusses this,
Is it still the case to add eConvertError to the debugger exception list, or
is there a fix needed ?

My app has many thousands of computations and im a little nervous seeing
exceptions like this.
Any chance you could explain why DBISAM trys to convert the number to a INT
first and what happens when the exception occurs?

Many Thanks
Clive.

Wed, Apr 5 2006 2:59 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Clive,

<< I searched the NG and found post 10115 which discusses this, Is it still
the case to add eConvertError to the debugger exception list, or is there a
fix needed ? >>

It's a handled EConvertError, so yes, you need to add it to the debugger
exception list if you don't want to see it.

<< Any chance you could explain why DBISAM trys to convert the number to a
INT first and what happens when the exception occurs? >>

It has to parse the number first and, if it's a constant, immediately try
and determine the type of constant using StrToInt/StrToInt64/StrToFloat.
Most of the time the constant fits into the proper type on the first try,
but sometimes, due to its size, it doesn't.

--
Tim Young
Elevate Software
www.elevatesoft.com

Wed, Apr 5 2006 4:10 PMPermanent Link

"Clive"
Makes sense.. Thanks.

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:DFB2A129-C082-4F8E-967B-5A7CE0F815A4@news.elevatesoft.com...
> Clive,
>
> << I searched the NG and found post 10115 which discusses this, Is it
> still the case to add eConvertError to the debugger exception list, or is
> there a fix needed ? >>
>
> It's a handled EConvertError, so yes, you need to add it to the debugger
> exception list if you don't want to see it.
>
> << Any chance you could explain why DBISAM trys to convert the number to a
> INT first and what happens when the exception occurs? >>
>
> It has to parse the number first and, if it's a constant, immediately try
> and determine the type of constant using StrToInt/StrToInt64/StrToFloat.
> Most of the time the constant fits into the proper type on the first try,
> but sometimes, due to its size, it doesn't.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
>

Image