Forum: Ruby problem passing parameters to execute sql-query

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
davidbe (Guest)
on 2006-01-13 11:51
(Received via mailing list)
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
This topic is locked and can not be replied to.