[fdo-users] FDO SHP + dotNet help : managing the decimal separator

Dan Stoica dan.stoica at autodesk.com
Thu Nov 8 14:49:18 EST 2007


Hi,

Does your dataset contain a .CPG file?
Does your .DBF file have the LDID (Language driver ID) byte set properly to En?


Cheers,
Dan.

-----Original Message-----
From: fdo-users-bounces at lists.osgeo.org [mailto:fdo-users-bounces at lists.osgeo.org] On Behalf Of Ytse
Sent: Wednesday, November 07, 2007 12:30 PM
To: fdo-users at lists.osgeo.org
Subject: [fdo-users] FDO SHP + dotNet help : managing the decimal separator

I'm using FDO 3.2.2 + C# for ASP.NET 2.0

I know how to insert/update values in an existing SHP
file, here's roughly how I would insert a decimal
value on a property :

myPropertyValueCollection.Add(new
PropertyValue("myDouble", new DataValue(12.5,
DataType.DataType_Decimal)));
myInsert.Execute();

That's ok, everything works fine.
Well...
It would, if the regional settings of my server were
set so that my decimal separator is ".", which is the
only valid character for the decimal value of a DBF
column.
But I'm working on a french server with ",", and the
generated file has 12,5 in it, not 12.5, so it's being
considered invalid.

I've tried many things, but I can't eventually find a
way to get rid of this. I've tried :
- changing the current thread culture to en-US or
invariant (my default app culture is fr-FR)
- changing the culture of the refered OSGeo dlls in my
csproj file

It looks like the unmanaged FDO dlls use the regional
settings no matter what I can do : I've tried setting
some "stupid and easily noticable" character as the
server decimal separator, and it's this one that's
being used in the DBF file.

I already highlighted this matter something like 6
months or earlier, and I eventually decided to rewrite
and recompile RowData.cpp to add
setLocale(LC_NUMERIC,"C") on the constructor (and
restored in the destructor), but that was in my 3.2
version.
Now I'm thinking of releasing my application with FDO
3.2.2 but rewriting and recompiling the whole thing
again probably isn't the good solution.

If anyone could help me find an alternate way, or if
this could definitely be considered a bug and properly
integrated in FDO (my solution works but is probably
not the best one), that would be great.

Thank you


      _____________________________________________________________________________
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail
_______________________________________________
fdo-users mailing list
fdo-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-users


More information about the fdo-users mailing list