Improper handling of quoted field names

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
thvedel
Posts: 14
Joined: Wed 04 May 2005 06:39
Location: Denmark

Improper handling of quoted field names

Post by thvedel » Sun 22 Apr 2007 21:34

When using quoted field names (IBDAC 2.0, Firebird 2.0), all fields are quoted by the "SQL Generator", but it seems only partially to use correct casing when generating SQL statements based on a given SELECT statement

Example:
INSERT INTO "TableX"
("ID", "MAALID", "METODEID", "STATUSID")
VALUES
(:"Id", :"MaalId", :"MetodeId", :"StatusId")

should have been generated as

INSERT INTO "TableX"
("Id", "MaalId", "MetodeId", "StatusId")
VALUES
(:"Id", :"MaalId", :"MetodeId", :"StatusId")

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Tue 24 Apr 2007 06:45

We have reproduced and fixed this problem. This fix will be included in the next IBDAC build.

thvedel
Posts: 14
Joined: Wed 04 May 2005 06:39
Location: Denmark

Post by thvedel » Tue 08 May 2007 20:55

It seems like the handling of quoted names have several problems:

Example 1:
Stored procedures with quoted names and quoted parameter names can not be called using the IBCStoredProc component: When the IBCStoredProc editor is envoked, you get this messagebox
---------------------------
Error
---------------------------
Dynamic SQL Error
Input parameter mismatch for procedure .
---------------------------
OK Details >>
---------------------------

Example 2:
In components having a "KeyGenerator" property, the quotes around the generator name must be placed manually, but the "KeyFields" property handles quoted names correctly, if Options -> QuotedNames are set to true.


Maybe it should be checked that quoted names are generally handled as expected

Best regards
Thomas

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Thu 10 May 2007 07:20

All these quotation problems were caused by the same code issue, that we have already fixed. This fix will be available with the next IBDAC build. IBDAC build will be released next week.

Post Reply