|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IRelQueryTableName
Provides access to members that define a relationship query table name.
The IRelQueryTableName interface contains properties that correspond to the parameters used with the IRelQueryTableFactory::Open method.
The following code shows how to create a new RelQueryTable from a RelQueryTableName object. The function takes a MemoryRelationshipClassName object. To find how to create a MemoryRelationshipClassName, see the help for IMemoryRelationshipClassName.
The IDataset::FullName method can be used on an existing RelQueryTable object to get a corresponding RelQueryTableName object.
See the IName interface topic for more information on Name objects in general.
IGPDataType.getFullName()
Method Summary | |
---|---|
IName |
getRelationshipClassName()
The name object for the RelationshipClass that defines the RelQueryTable. |
IQueryFilter |
getSrcQueryFilter()
A QueryFilter applied to a cursor opened from the RelQueryTable. |
ISelectionSet |
getSrcSelectionSet()
A SelectionSet applied to a cursor opened from the RelQueryTable. |
String |
getTargetColumns()
The destination dataset columns available in a cursor opened from the RelTableTable. |
boolean |
isDoNotPushJoinToDB()
Indicates if the join is processed on the client. |
boolean |
isForwardDirection()
Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable. |
boolean |
isLeftOuterJoin()
Indicates if the type of join will be a left outer join. |
void |
setDoNotPushJoinToDB(boolean doNotPushJoinToDB)
Indicates if the join is processed on the client. |
void |
setForwardDirection(boolean forward)
Indicates if the originPrimaryClass of the RelationshipClass is the SourceTable. |
void |
setLeftOuterJoin(boolean leftOuterJoin)
Indicates if the type of join will be a left outer join. |
void |
setRelationshipClassNameByRef(IName relClassName)
The name object for the RelationshipClass that defines the RelQueryTable. |
void |
setSrcQueryFilterByRef(IQueryFilter queryFilter)
A QueryFilter applied to a cursor opened from the RelQueryTable. |
void |
setSrcSelectionSetByRef(ISelectionSet selectionSet)
A SelectionSet applied to a cursor opened from the RelQueryTable. |
void |
setTargetColumns(String targetColumns)
The destination dataset columns available in a cursor opened from the RelTableTable. |
Method Detail |
---|
void setRelationshipClassNameByRef(IName relClassName) throws IOException, AutomationException
relClassName
- A reference to a com.esri.arcgis.system.IName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IName getRelationshipClassName() throws IOException, AutomationException
This is the RelationshipClassName that defines the join tables and join fields as well as the cardinality.
You can set this property using a RelationshipClassName that refers to either a RelationshipClass in a geodatabase or a MemoryRelationshipClass.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setForwardDirection(boolean forward) throws IOException, AutomationException
forward
- The forward (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isForwardDirection() throws IOException, AutomationException
If ForwardDirection is True, the origin table in the RelationshipClassName is the source in the RelQueryTable, otherwise the destination table in the RelationshipClassName becomes the source. If the cardinality is many to one, you can define your relationship as one-to-many and set this parameter to false in order to make the many side the source. It's necessary to do this to get every joined row, since you can't set the cardinality to many-to-one for a RelationshipClass.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setSrcQueryFilterByRef(IQueryFilter queryFilter) throws IOException, AutomationException
queryFilter
- A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IQueryFilter getSrcQueryFilter() throws IOException, AutomationException
You can further define the data that will be returned by a RelQueryTable by applying a QueryFilter. The WhereClause of SrcQueryFilter is added to the WhereClause of the QueryFilter specified when you use the ITable::Search method using the and operator. The SubFields of SrcQueryFilter define which fields will include data when a cursor is opened. The other fields are included but will be empty.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setSrcSelectionSetByRef(ISelectionSet selectionSet) throws IOException, AutomationException
selectionSet
- A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ISelectionSet getSrcSelectionSet() throws IOException, AutomationException
This property is not implemented, and should not be set.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setTargetColumns(String targetColumns) throws IOException, AutomationException
targetColumns
- The targetColumns (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.String getTargetColumns() throws IOException, AutomationException
This is a comma delimited string that defines the fields returned from the destination table. This is different from the SubFields of SrcQueryFilter since in this case, fields not included in TargetColumns are not included at all in a cursor.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setDoNotPushJoinToDB(boolean doNotPushJoinToDB) throws IOException, AutomationException
doNotPushJoinToDB
- The doNotPushJoinToDB (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isDoNotPushJoinToDB() throws IOException, AutomationException
If DoNotPushJoinToDB is True, the join is always processed on the client; otherwise, it is processed on the server (if possible). If all tables involved are stored in the same geodatabase, the processing can be performed by the server, which is normally faster. The LeftOuterJoin property must also be set to False in order for processing to occur on the server. In any other case, processing occurs on the client regardless of how this parameter is set.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setLeftOuterJoin(boolean leftOuterJoin) throws IOException, AutomationException
leftOuterJoin
- The leftOuterJoin (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isLeftOuterJoin() throws IOException, AutomationException
A left outer join is performed if LeftOuterJoin is set to True, otherwise a left inner join is performed. See IRelQueryTableInfo::JoinType for more information.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |