Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Database/DBExpress    [ Add a report in this area ]  
Report #:  94878   Status: Closed
Accessing Numeric Fields (Interbase and Firebird) - Equals sign returned instead of a number
Project:  Delphi Build #:  15.0.3890.34076
Version:    15.0 Submitted By:   Gordon Scrim
Report Type:  Basic functionality failure Date Reported:  6/7/2011 7:40:03 PM
Severity:    Critical / Show Stopper Last Updated: 3/20/2012 2:24:39 AM
Platform:    All versions Internal Tracking #:   281411
Resolution: Fixed (Resolution Comments) Resolved in Build: : 16.0.4247.43218
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 38
Description
Using a Firebird or Interbase database that has a field defined as NUMERIC(15,2) and attempting to access it using AsCurrency or AsFloat returns a string containing an equals sign.

Sounds bizzare but is true.  Has been tested with both dialect 1 and 3 databases with the same problem.

Issue has been raised with Embarcadero support on 12th July 2010 and a conversation with support has not led to a fix being forth coming and it has been recomended to make a QC entry.

Support case number : 00156269
Steps to Reproduce:
Use a Firebird or Interbase database that has a field defined as NUMERIC(15,2) and attempt to access it in anyway such as:

var
  myMoney : real;

myMoney := MyTSQLQuery.FieldByName('MY_NUMERIC_FIELD').AsCurrency

When this is used an equals sign (=) is returned instead of a number.  This obviously causes problems when the software is expecting some sort of number and a string containing an equals sign is returned.

Accessing the field with AsString returns the equals sign (not a number).
Workarounds
None
Attachment
94878.zip
Comments

Gordon Scrim at 6/7/2011 9:38:07 PM -
Attached zip file contains a dialect one data base created with Firebird 2.1.  Accessing the numeric colum within the only table give the error described.

Tomohiro Takahashi at 6/7/2011 10:26:38 PM -
Gordon-san
> Attached zip file contains a dialect one data base created with Firebird 2.1.
Could you please attch entire sample project(including sample database file) to verify your issue?

> Support case number : 00156269
This case is already logged as #281411 in our internal tracking system.
-----
[Description]
Fetching data from InterBase or FireBird Numeric or Decimal Fields with a precision of >9 and scale of >1 results in an = sign.
-----

So, unfortunately, this issue is still Open, and there is no hotfix.
Sorry for inconvenience.

Server Response from: ETNACODE01