com.esri.arcgis.geodatabase
Class QueryDef

java.lang.Object
  extended by com.esri.arcgis.geodatabase.QueryDef
All Implemented Interfaces:
IQueryDef, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class QueryDef
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IQueryDef

ESRI Query Definition object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
QueryDef(Object obj)
          Construct a QueryDef using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 ICursor evaluate()
          Evaluate the query and return a cursor on the result set.
 String getSubFields()
          The comma delimited list of field names for the query.
 String getTables()
          The comma delimited list of table names for the query.
 String getWhereClause()
          The where clause for the query.
 int hashCode()
          the hashcode for this object
 void setSubFields(String subFields)
          The comma delimited list of field names for the query.
 void setTables(String tables)
          The comma delimited list of table names for the query.
 void setWhereClause(String whereClause)
          The where clause for the query.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

QueryDef

public QueryDef(Object obj)
         throws IOException
Construct a QueryDef using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to QueryDef.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
QueryDef o = (QueryDef)obj; // will not work

QueryDef o = new QueryDef(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems QueryDef theQueryDef = (QueryDef) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getTables

public String getTables()
                 throws IOException,
                        AutomationException
The comma delimited list of table names for the query.

Description

Get or put a comma delimited string of tables for use in the query from the Tables data member.

Remarks

Returns a string containing the name of a single table (or a list of table names when used in a join). When used with an ArcSDE datasource, the table name will be prefixed with the owner name (owner.mytable) if the table is not owned by the current workspace.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getTables in interface IQueryDef
Returns:
The tables
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTables

public void setTables(String tables)
               throws IOException,
                      AutomationException
The comma delimited list of table names for the query.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setTables in interface IQueryDef
Parameters:
tables - The tables (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSubFields

public String getSubFields()
                    throws IOException,
                           AutomationException
The comma delimited list of field names for the query.

Description

SubFields returns or sets a comma delimited list of fields.

Remarks

The following formats are used for the SubFields property of a QueryDef against an ArcSDE datasource:

Format 1: "*"
This returns all fields on all tables. If duplicate column names are found, the field names will be prefixed with the table name (table.field_name).

Format 2: "field1,field2,field3"
Returns only the fields requested. (Separate field names by commas but do not add a space after or before the comma)

Format 3: "table1.*,table2.field1,table3.field2"
Returns all of the fields from table1, field1 from table2 and field 2 from table3.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getSubFields in interface IQueryDef
Returns:
The subFields
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setSubFields

public void setSubFields(String subFields)
                  throws IOException,
                         AutomationException
The comma delimited list of field names for the query.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setSubFields in interface IQueryDef
Parameters:
subFields - The subFields (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getWhereClause

public String getWhereClause()
                      throws IOException,
                             AutomationException
The where clause for the query.

Remarks

For more information about where clauses, see IQueryFilter.WhereClause.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getWhereClause in interface IQueryDef
Returns:
The whereClause
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setWhereClause

public void setWhereClause(String whereClause)
                    throws IOException,
                           AutomationException
The where clause for the query.

Remarks

For more information about where clauses, see IQueryFilter.WhereClause.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setWhereClause in interface IQueryDef
Parameters:
whereClause - The whereClause (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

evaluate

public ICursor evaluate()
                 throws IOException,
                        AutomationException
Evaluate the query and return a cursor on the result set.

Remarks

The IQueryDef interface is used to set up and define the query and also provides an Evaluate method that is used to execute the query, returning a cursor.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
evaluate in interface IQueryDef
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.