Bug, SQL grid, problems when using comma as decimal seperator

Claus Pedersen

Member³
I have a table with a number field in it. I use the SQL window grid to edit a row (select t.*, rowid from my_table t). My session is using point as decimal separator, but windows is using comma, so decimal numbers are shown with comma in data grid.

When I save 11, it works OK.
When I write "1,1" (comma) it is marked as red (invalid field length/format), but it is saved and re-queried as "1,1", so only cosmetical error here.
When I write "1.1" (point), it is saved and re-queried as "11" (eleven !) This is bad, as it will result in data errors.
 
It is a NUMBER column (no precision).

My nls_session_parameters are:
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
but my Windows XP number format is (Control panel -> Regional and Language Options -> Regional options -> Standard and formats -> Danish) 123.456,78
i.e. comma as decimal seperator, and I assume this is the reason why PLD shows fractional numbers with comma.

Hope this is helpfull.

NB: The bug is also present in version 8, so it has nothing to with version 9 as such, but because the data in the grid is updated immediately to the database value i version 9, you see the error right away after post/commit.
 
Back
Top