Subject | Problem with Locate Method |
---|---|
Author | Christian Mautendorfer |
Post date | 2001-06-07T15:24:06Z |
Hi,
depending on a GroupID I select a range of Records belonging to that group.
Then I try to locate a certain record in that group using the Locate mehod.
This works fine if the record exists that I'm trying to locate.
If this record doesn't exist the Locate method (in TIB_Query) throws an
exception
instead of simply returning False.
The Errortext is:
"Multiple Rows in Singelton Fetch
Check Keylinks and Joinlinks properties
Select B.*
From VBaseValueList B, VGroupsXBaseValueList G
Where VBaseValueList.ID=? /* Bind_0 */"
My SQL statement is:
SELECT B.*
FROM VBASEVALUELIST B, VGROUPSXBASEVALUELIST G
WHERE (B.ID = BASEVALUELIST_ID)
and (G.GROUPS_ID = :GROUPS_ID)
and (VTYPE > 0)
VBaseValueList is a View on BaseValuelist:
Create View VBaseValueList as Select * from BaseValueList where Status = 0;
VGROUPSXBASEVALUELIST is a the same kind of View on a Corsstable between
Groups and BaseValueList.
VType is at the moment always > 0.
In the locate I try to find a certain B.ID value. (Int64)
TIA for the Help
Regards,
Chris
depending on a GroupID I select a range of Records belonging to that group.
Then I try to locate a certain record in that group using the Locate mehod.
This works fine if the record exists that I'm trying to locate.
If this record doesn't exist the Locate method (in TIB_Query) throws an
exception
instead of simply returning False.
The Errortext is:
"Multiple Rows in Singelton Fetch
Check Keylinks and Joinlinks properties
Select B.*
From VBaseValueList B, VGroupsXBaseValueList G
Where VBaseValueList.ID=? /* Bind_0 */"
My SQL statement is:
SELECT B.*
FROM VBASEVALUELIST B, VGROUPSXBASEVALUELIST G
WHERE (B.ID = BASEVALUELIST_ID)
and (G.GROUPS_ID = :GROUPS_ID)
and (VTYPE > 0)
VBaseValueList is a View on BaseValuelist:
Create View VBaseValueList as Select * from BaseValueList where Status = 0;
VGROUPSXBASEVALUELIST is a the same kind of View on a Corsstable between
Groups and BaseValueList.
VType is at the moment always > 0.
In the locate I try to find a certain B.ID value. (Int64)
TIA for the Help
Regards,
Chris