Log On
Embarcadero Home
Watch, Follow, &
Connect with Us
Share This
QualityCentral
Communities
Articles
Blogs
Resources
Downloads
Help
QualityCentral
Delphi-BCB
AddOn
AutomatedQA
Beyond Compare
CodeSight
DeployToTheCloud Wizard
FinalBuilder
Image Editor
Install Shield Express
InstallAware Express
Interbase components
IntraWeb
IPWorks
ModelMaker
Package Collection Editor
Quality Central
QuickReport
RAVE
RC2DFM
TChart
Translation Repository
Version control
WinSight
You are not logged in.
Help
Print
Public Report
Report From:
Delphi-BCB/AddOn/Interbase components
[ Add a report in this area ]
Report #:
102367
Status:
Closed
Error in Persisted Aliased Field Detection
Project:
Delphi
Build #:
16.0.4316.44803
Version:
16.2
Submitted By:
Lee Danby
Report Type:
Issue
Date Reported:
1/5/2012 4:01:22 AM
Severity:
Extreme corner case
Last Updated:
9/15/2012 4:39:03 AM
Platform:
All platforms
Internal Tracking #:
Resolution:
Test Case Error
(Resolution Comments)
Resolved in Build:
:
None
Duplicate of:
None
Voting and Rating
Overall Rating:
No Ratings Yet
0.00 out of 5
Total Votes:
None
Description
Delphi cannot detect numeric persisted fields if you use a sub-select or alias a field.
The error appears to be in IBCustomDataSet and got added when the column order bug was fixed. Sadly, this was added.
Line 3119
if (FieldCount > 0) and
(Fields.FieldByName(String(sqlname)) is TFloatField) then
SQLName returns the underlying field name, in the example "QTY", but for a subselect it is completely blank.
Changing the code to the following, appeared to fix the issue, but there may be more instances of this.
if (FieldCount > 0) and Assigned(Fields.FindField(String(aliasname))) and
(Fields.FieldByName(String(aliasname)) is TFloatField) then
Steps to Reproduce:
Make test database.
create table test (qty numeric(18,6))
Add TIBDatabase, TIBTransaction, TIBQuery to a VCL Form, point them at the database.
Set the SQL to SELECT QTY ALIASQTY FROM TEST
Double click the query and select Add Fields... then add the ALIASQTY field. Selecting Add All Fields also falls over with the error.
Add a button that runs IBQuery1.Open;
Error EDatabaseError IBQuery1: Field 'QTY' not found
This also happens when using sub-SELECTs in queries, so removing the aliases isn't a valid workaround.
Workarounds
None
Attachment
IBXErrorTest.zip
Comments
Tomohiro Takahashi at 1/5/2012 5:54:22 AM
-
What version of InterBase do you use, for example InterBase XE2 Update 3?
and, could you please attach sample project(including sample database file) to reproduce your issue?
> Version: 16.2
> Build No: 16.16?
What update version of Delphi XE2 do you use, for example Update 2 or Update 3?
Lee Danby at 1/5/2012 6:44:49 AM
-
I can't add an attachment to this so I have uploaded it here.
http://www.zen8750.zen.co.uk/ibxerrortest.zip
Tomohiro Takahashi at 1/5/2012 5:54:09 PM
-
Please use Windows Native QC client to attach a .zip file to your existing report.
The standalone client comes with Delphi.
Lee Danby at 1/6/2012 8:19:00 AM
-
OK, done
Lee Danby at 1/5/2012 6:33:29 AM
-
Firebird 2.1, rather than Interbase. This is quite a large project build on the IBX components, so there's no way we can move it to something else now.
It's on XE2 Update 2 at the moment, but I saw no info on this issue in the patch notes for Update 3.
Tomohiro Takahashi at 1/5/2012 5:55:07 PM
-
> Firebird 2.1, rather than Interbase.
As you know, IBExpress does NOT support Firebird.
Does your issue occur with InterBase?
and, what update version of Delphi XE2 do you use, for example Update 2 or Update 3?
Lee Danby at 1/6/2012 8:20:47 AM
-
Yes, I'm aware. We do not use Interbase and have no version available to test.
It is Update 2.
View Your Reports
Search
Server Response from: ETNACODE01
Developer Tools
Blackfish SQL
C++Builder
Delphi
FireMonkey
Prism
InterBase
JBuilder
J Optimizer
HTML5 Builder
3rdRail & TurboRuby
Database Tools
Change Manager
DBArtisan
DB Optimizer
ER/Studio
Performance Center
Rapid SQL
Technical Articles
Tutorials
White Papers
Press Releases
Newsletters
Add Content (GetPublished)
Audio
Audio & Video
Video
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Tags
Technology Partners
Downloads
Free Trials
Registered User Downloads
Beta Programs
Add Content (GetPublished)
Articles
Blogs
Bugs & Suggestions (QualityCentral)
Discussion Forums
Examples (CodeCentral)
Member Services
About
Connect with Us