Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Error 11949 - Portuguese Issue.
Sun, Feb 5 2006 7:40 PMPermanent Link

"Mark Gibson"
Hi Folks,

I have an old application running on DBIsam V3.19 and have a new customer
from Portugal who is receiving an error:

Error 11949 SQL error - Assignment (=) operator expected after column name,
instead found ','

As near as I can find it seems to be tripping over on the following query:

qryVarious.SQL.Add('UPDATE Projects');
qryVarious.SQL.Add('SET EquipChargeBudgeted = ' +
FloatToStr(qryProjectEquipmentChargeTotalTotalCharge.Value) +'');
qryVarious.SQL.Add(', EquipCostBudgeted = '+
FloatToStr(qryProjectEquipmentChargeTotalTotalCost.Value) +'');
qryVarious.SQL.Add('WHERE "Project ID" = "'+
tblProjectsProjectID.Value+'"');

The strange thing is that it has not appeared previously for any other user.
I asked him to send me his data files which worked fine on my machine. I
then changed my regional settings to Portugal and got the error straight
away. I then restructured the data tables to Portuguese but the error still
appears.

Can anyone shed any light on what the error may be and if it can be fixed?

Thanks in advance, Mark Gibson

Sun, Feb 5 2006 10:30 PMPermanent Link

Donat Hebert
My guess would be use AnsiFloatToStr vs just FloatToStr.  Reason is that some languages imbed a comma instead of a period for decimal values.
We've seen this with French.  Ansi standard would exclude the extra comma.

hth  Donat.



"Mark Gibson" <mail@markgibsonsoftware.com> wrote:

Hi Folks,

I have an old application running on DBIsam V3.19 and have a new customer
from Portugal who is receiving an error:

Error 11949 SQL error - Assignment (=) operator expected after column name,
instead found ','

As near as I can find it seems to be tripping over on the following query:

qryVarious.SQL.Add('UPDATE Projects');
qryVarious.SQL.Add('SET EquipChargeBudgeted = ' +
FloatToStr(qryProjectEquipmentChargeTotalTotalCharge.Value) +'');
qryVarious.SQL.Add(', EquipCostBudgeted = '+
FloatToStr(qryProjectEquipmentChargeTotalTotalCost.Value) +'');
qryVarious.SQL.Add('WHERE "Project ID" = "'+
tblProjectsProjectID.Value+'"');

The strange thing is that it has not appeared previously for any other user.
I asked him to send me his data files which worked fine on my machine. I
then changed my regional settings to Portugal and got the error straight
away. I then restructured the data tables to Portuguese but the error still
appears.

Can anyone shed any light on what the error may be and if it can be fixed?

Thanks in advance, Mark Gibson

Mon, Feb 6 2006 11:34 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Mark,

<< I have an old application running on DBIsam V3.19 and have a new customer
from Portugal who is receiving an error: >>

Donat is 100% correct.  Use the AnsiFloatToStr function in the dbisamlb.pas
unit of DBISAM instead of the FloatToStr function.  It will ensure that the
resultant string always uses a period ('.') instead of the locale-specific
decimal separator.

--
Tim Young
Elevate Software
www.elevatesoft.com

Tue, Feb 7 2006 4:28 PMPermanent Link

"Mark Gibson"
Thanks Donat/Tim, I was hoping it was something I could fix without coding
as it is an old app but...

Thanks again for the very prompt help(as usual).

Cheers, Mark


"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:FA446805-CF13-4BCB-96BE-10BFC2141BEA@news.elevatesoft.com...
> Mark,
>
> << I have an old application running on DBIsam V3.19 and have a new
> customer from Portugal who is receiving an error: >>
>
> Donat is 100% correct.  Use the AnsiFloatToStr function in the
> dbisamlb.pas unit of DBISAM instead of the FloatToStr function.  It will
> ensure that the resultant string always uses a period ('.') instead of the
> locale-specific decimal separator.
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>
>

Image