Page 1 of 1

Dbexpsda40 truncates decimals on BCD params

Posted: Fri 29 Feb 2008 00:06
by rwerning
When assigning a decimal value to a TSqlQuery ParamField, if you assign the value AsBcd the decimal is being truncated.

ie.
SQLQuery1.Sql.Text := 'select * from TEST_BCD where FIELD3 = :field3';
SQLQuery1.ParamByName('FIELD3').AsBcd := 1.1;

If you inspected the ParamField after assignment, it shows properly as a decimal. The TraceDelegate shows it using a BCD. The CoreLab oracle driver works as expected, as do the Oracle and SqlServer drivers from CodeGear.

I'm working on a test case now to send to support, but this is a HUGE issue for us - we have 3 major corporations that are live using this driver, and they're corrupting mission critical data.

Posted: Wed 05 Mar 2008 12:00
by Challenger
We have fixed this problem. This fix will be included in the next build of Dbxsda.