I had the same problem.
A DECIMAL(x,y) DB field may confuse the statement. For them you must specify precision and scale like this:

OdbcParameter par;
par =...