Problem passing parameters to execute sql-query


#1

Hi,

I’m using Ruby to manipulate data and store it in a (oracle) database
(using dbi). One column of the table is a NUMBER(6,2) type – so it
accepts floating point values.

The SQL-code I want to execute is:
@sql_schrijf_bez = “INSERT INTO TESTUSER.BG_BEZETTINGSGEGEVENS
(JAAR, MAAND, IDLOCATIE, WAARDE, OPLAADDATUM)
VALUES (?, ?, ?, ?, SYSDATE)”

“WAARDE” is the NUMBER(6,2)

When I execute (for example) the next line, I get an ORA-01722-error:
Invalid number.
sth_bez.execute(2005, 2, 1000, 5.9)

When I adjust @sql_schrijf_bez to:
@sql_schrijf_bez = “INSERT INTO TESTUSER.BG_BEZETTINGSGEGEVENS
(JAAR, MAAND, IDLOCATIE, WAARDE, OPLAADDATUM)
VALUES (?, ?, ?, 5.9, SYSDATE)”
^^^^^^^

and

sth_bez.execute(2005, 2, 1000).

then there’s no problem and the floating point value is stored in the
database.

Am I missing something? I don’t know what the problem could be… Any
help is more than welcome!

Thanks in advance,
David