Query Class

The Query class embodies the structure of a query. Objects of this type are not used for fetching records from the database. Instead, use a QueryRun object that may be assigned a query object. The dynamic behavior of a query is defined by the QueryRun Class. The static behavior is defined by the Query class.

Queries contain one or more data sources that correspond to tables in the database. The data sources are specified by using QueryBuildDataSource objects.

class Query extends TreeNode

Run On

Called

Methods

Method

Description

addBaseQuery

addCompanyRange

addDataSource

Adds a data source to the top level of the query.

allowCheck

allowCrossCompany

AOTadd

Creates a subnode to the tree node in the Application Object Tree (AOT). The type of subnode depends on where you are in the tree. The new node acquires the name that was passed as a parameter. (Inherited from TreeNode.)

AOTaddExtendedDataType

This method is not supported in Microsoft Dynamics AX. If you need to add a subnode of this type, use the TreeNode.AOTaddSubNode Method instead. (Inherited from TreeNode.)

AOTaddRelation

This method is not supported in Microsoft Dynamics AX. If you need to add a subnode of this type, use the TreeNode.AOTaddSubNode Method instead. (Inherited from TreeNode.)

AOTaddSubNode

Creates subnodes for extended data types and relations. (Inherited from TreeNode.)

AOTAllowEdit

(Inherited from TreeNode.)

AOTApplCodeDocType

Returns the ApplCodeDocType of the TreeNode object. (Inherited from TreeNode.)

AOTApplHelpType

(Inherited from TreeNode.)

AOTbitmapId

Returns the resource ID of the bitmap of the tree node. (Inherited from TreeNode.)

AOTchildNodeCount

Counts the number of child nodes that a given tree node has. (Inherited from TreeNode.)

AOTcompile

Compiles this node and its subnodes. (Inherited from TreeNode.)

AOTconfigure

(Inherited from TreeNode.)

AOTdelete

Deletes the tree node in the development layer that you are currently working in. (Inherited from TreeNode.)

AOTDrop

Creates a copy of a specified tree node as a child to the TreeNode object. (Inherited from TreeNode.)

AOTDuplicate

(Inherited from TreeNode.)

AOTedit

Opens the appropriate editor for this node. (Inherited from TreeNode.)

AOTfindChild

Finds the specified child node of this node. (Inherited from TreeNode.)

AOTfirstChild

Retrieves the first child of the tree node. (Inherited from TreeNode.)

AOTfirstChildEx

(Inherited from TreeNode.)

AOTgetNodeType

(Inherited from TreeNode.)

AOTgetProperties

Returns a string containing the properties of the tree node. (Inherited from TreeNode.)

AOTgetPropertiesExt

(Inherited from TreeNode.)

AOTgetProperty

(Inherited from TreeNode.)

AOTgetSource

Returns the source code of this node. (Inherited from TreeNode.)

AOTinsert

Inserts a node among the subnodes of this node. (Inherited from TreeNode.)

AOTIsDirty

(Inherited from TreeNode.)

AOTIsOld

Indicates whether this node is from a file found in the "old" directory. (Inherited from TreeNode.)

AOTIsSavedInAODFile

(Inherited from TreeNode.)

AOTiterator

Returns an object which can be used to traverse the child nodes of the tree node. (Inherited from TreeNode.)

AOTKernelHelpType

(Inherited from TreeNode.)

AOTload

Ensures that the object is loaded. (Inherited from TreeNode.)

AOTmakeXref

Compiles this node and its subtree in the AOT, updating the cross-reference system. (Inherited from TreeNode.)

AOTmessageLine

Writes text to the Application Object Tree (AOT) Message window. (Inherited from TreeNode.)

AOTMove

(Inherited from TreeNode.)

AOTname

Returns the value of the name property of the node. (Inherited from TreeNode.)

AOTnewWindow

Opens a new AOT tree window with the tree node as the root. (Inherited from TreeNode.)

AOTnextSibling

Returns the next node on the same level as the tree node. (Inherited from TreeNode.)

AOTObjectNode

Indicates whether the node is an application object. (Inherited from TreeNode.)

AOToverlayBitmapId

Returns the resource ID of the overlay in the AOT associated with this node. (Inherited from TreeNode.)

AOTparent

Returns the parent node of the tree node. (Inherited from TreeNode.)

AOTprevious

Returns the previous sibling of this tree node. (Inherited from TreeNode.)

AOTrefresh

Refreshes the node with the latest changes to the .aod file. (Inherited from TreeNode.)

AOTregenerate

(Inherited from TreeNode.)

AOTrestore

Reloads this node from the disk, if applicable. (Inherited from TreeNode.)

AOTrun

Compiles this node and its subtree in the Application Object Tree (AOT). (Inherited from TreeNode.)

AOTsave

Saves an Application Object Tree (AOT) node. The node is not saved to the database. (Inherited from TreeNode.)

AOTsetProperties

(Inherited from TreeNode.)

AOTsetPropertiesExt

(Inherited from TreeNode.)

AOTsetProperty

(Inherited from TreeNode.)

AOTsetSource

Sets the source code of this node. (Inherited from TreeNode.)

AOTshowProperties

Opens the property sheet (if not already open) and shows the properties for this node. (Inherited from TreeNode.)

AOTtoolTip

Returns the tool tip associated with the tree node. (Inherited from TreeNode.)

AOTToString

(Inherited from TreeNode.)

AOTtypeStr

Returns the internal string code for the element type used in projects. (Inherited from TreeNode.)

AOTUtilFileType

Retrieves the value of the UtilFileType enum for the TreeNode object. The UtilFileType indicates which kind of file the application object is stored in. (Inherited from TreeNode.)

applObjectId

Returns the application object ID, if applicable. (Inherited from TreeNode.)

applObjectLayer

Returns the application object layer of the tree node. (Inherited from TreeNode.)

applObjectLayerMask

Returns a bitmask that specifies which layers contain this element. (Inherited from TreeNode.)

applObjectOldLayerMask

(Inherited from TreeNode.)

applObjectParentHdl

Returns the handle of the tree node's parent, if applicable. (Inherited from TreeNode.)

applObjectType

Returns the application object type for this node (form, report, class). (Inherited from TreeNode.)

cancelTimeOut

Cancels a previous method call to the Object.setTimeOut Method. (Inherited from Object.)

changedBy

Gets or sets the name of the user that last changed the Query object.

changedDate

changedTime

checkAuthorizationOnOpenRanges

checkFieldAccess

checkRangeParsingErrors

childDataSourceCount

Counts the number of data sources that pertain to the query.

childDataSourceNo

Returns the child data source corresponding to the specified number.

clearBaseQueries

clearCompanyRange

clearGroupBy

clearOrderBy

createdBy

creationDate

creationTime

dataSourceCount

Returns the total number of data sources for the query, including any embedded data sources.

dataSourceName

Returns the data source that has the specified name.

dataSourceNo

Returns the data source specified by the data source number.

dataSourceTable

Returns the data source that has the specified table assigned to it.

dataSourceUniqueId

equal

Overridden. Evaluates whether one query is equal to another.

exportXML

finalize

forceNestedLoop

forceSelectOrder

form

getCompanyRange

getNextUniqueId

getNodeInLayer

Retrieves a version of the tree node from a specified layer. (Inherited from TreeNode.)

getTimeOutTimerHandle

Returns the timer handle for the object. (Inherited from Object.)

groupByField

groupByFieldCount

handle

Retrieves the handle of the class of the object. (Inherited from Object.)

inReport

Determines whether the query is part of a report.

interactive

Specifies whether or not the query is interactive, such as showing a dialog box.

isCompositeQuery

levelNo

Determines the level of indentation of the specified data source.

levelTable

Determines the tree level, in the hierarchy of data sources, of the data source assigned to the specified table.

literals

lockedBy

makeCopy

(Inherited from TreeNode.)

name

new

Overridden. Creates a query object.

newObject

Creates a query that exists on the same Client/Server side as the source query.

newObjectName

Returns a string that contains the name of the new element. (Inherited from TreeNode.)

nextUniqueId

notify

Releases the hold on an object that has called a wait method on this object. (Inherited from Object.)

notifyAll

Releases a lock on the object that was issued by a wait method on this object. (Inherited from Object.)

objectOnServer

Determines whether the object is on a server. (Inherited from Object.)

orderByField

orderByFieldCount

owner

Returns the instance that owns the object. (Inherited from Object.)

pack

Packs the query into a container and returns that container, which can then be used when you create a query.

packInternals

queryType

recordLevelSecurity

report

Returns the report in which the query is defined, if the report exists.

saved

Indicates whether the query has been saved to the disk.

setTimeOut

Sets up the scheduled execution of a specified method. (Inherited from Object.)

sysNodeType

Returns the internal node type of this node. (Inherited from TreeNode.)

sysUtilDelete

Deletes the application object in the object database, but does not delete the tree node itself. (Inherited from TreeNode.)

title

toString

Overridden.

treeNodeExport

Exports this node and its subtree from the Application Object Tree (AOT). (Inherited from TreeNode.)

treeNodeName

Returns the name of the tree node. (Inherited from TreeNode.)

treeNodePath

Returns the unique path to the tree node within the Application Object Tree (AOT). (Inherited from TreeNode.)

treeNodeRelease

Releases the tree node explicitly. (Inherited from TreeNode.)

unpackInternals

usageCount

Returns the current number of references (the value of the reference counter) that the object has. (Inherited from Object.)

userUpdate

Gets or sets whether the query is allowed to update the records it fetches.

version

wait

Pauses a process. (Inherited from Object.)

xml

Overridden.

Remarks

This class enables you to create, read, update, and delete X++ code and metadata. Make sure that the user has access to the development security key (SysDevelopment) before calling this API.

Queries are used when the user wants to modify the records fetched by, for example, a form. One or more ranges are often added to an existing data source. Ranges are specified by using queryBuildRange objects.

Example

The following example creates a query object that is used to create a QueryRun object.

{
    Query q = new Query (QueryStr(Cust));
    // Use the query to build a queryRun object.
    QueryRun qr = new QueryRun (q);
    ;
   if ( hasSecurityKeyAccess(securityKeyNum(SysDevelopment),
        AccessType::Edit) )
    {
        // Traverse some records.
        while (qr.next())
        {
            // ...
        }
    }
}