FieldByName returns integer instead of money
Hello,
I need to get cell's value from a table. I use the following line:
Qry.FieldByName(paramName).Value;
The problem is the value is "223,00" or similar, but I always get "223".
Everything works fine if the value is integer.
(Qry.FieldByName(paramName).AsFloat does not work)
Sorry, I don't have much experience with TC connecting the DB's so I really can't comment
you can try
but I would try debugging what variable type is coming out of the DB and output it BEFORE you apply any conversion to it
https://support.smartbear.com/testcomplete/docs/reference/program-objects/aqobject/getvartype.html
testVar = Qry.FieldByName(paramName).ValueLog.Message(aqObject.GetVarType(testVar))
it looks like your DB collation maybe not be what you are expecting, some places use (and can set up the DB) ',' as the decimal seperator
e.g.
123.45 (Point 45)
123,456.78 (123 thousand)
Alternative DB collation123,45 (Point 45)
123.456,78 (123 thousand)
in the latter case
223,00 would correctly evaluate to 223 as the .toFloat can't use the ',' collection as a decimal point are far as I know
- there appear to be 2 decimal places at zero and not 3 which would denote a thousand
you may have to change around , and . if this is the case