User Manual

GETTING STARTED


OTHER EDITIONS


LAUNCHERS


MODULES


PLATFORM


APPENDIX


TUTORIALS & HELPFUL TRICKS


STRATEGIC PARTNER LINKS

Sepasoft - MES Modules
Cirrus Link - MQTT Modules

RESOURCES

Inductive University
Ignition Demo Project
Knowledge Base Articles
Forum
IA Support

ALL USER MANUAL VERSIONS

Ignition 8.1. Offline Version (04/2021)
Ignition 8 Online Version
Ignition 7.9 Online Version
Ignition 7.8 Online Version

Deprecated Pages

SDK Documentation

Employees

Sign In

Skip to end of metadata
Go to start of metadata

This function is used in Python Scripting.

Description

Runs a named query and returns the results. Note that the number of parameters in the function is determined by scope. Both versions of the function are listed below.

Client Permission Restrictions

This scripting function has no Client Permission restrictions.

Project Scope Syntax

system.db.runNamedQuery(path, parameters, [tx], [getKey])

  • Parameters

String path - The path to the named query to run. Note that this is the full path to the query, including any folders.

Dictionary[String, Any] parameters - A Python dictionary of parameters for the named query to use.

String tx - An transaction ID, obtained from beginNamedQueryTransaction. If blank, will not be part of a transaction. [optional]

Boolean  getKey - Only used for Update Query types. A flag indicating whether or not the result should be the number of rows affected (getKey=0) or the newly generated key value that was created as a result of the update (getKey=1). Not all databases support automatic retrieval of generated keys. [optional]

  • Returns

Any The results of the query. The exact object returned depends on the Query Type property of the Named Query: typically either a dataset when set to Query, an integer representing the number of rows affected when set to Update Query, or an object matching the data type of the value returned by a Scalar Query.

  • Scope

Vision Client, Perspective Session

Gateway Scope Syntax

system.db.runNamedQuery(project, path, parameters, [tx], [getKey])

  • Parameters

String project The project name the query exists in.

String path The path to the named query to run. Note that this is the full path to the query, including any folders.

Dictionary[String, Any] parameters - A Python dictionary of parameters for the named query to use.

String tx - An optional transaction ID, obtained from beginNamedQueryTransaction. If blank, will not be part of a transaction. [optional]

Boolean getKey - Only used for Update Query types. A flag indicating whether or not the result should be the number of rows affected (getKey=0) or the newly generated key value that was created as a result of the update (getKey=1). Not all databases support automatic retrieval of generated keys. [optional]

  • Returns

Any The results of the query. The exact object returned depends on the Query Type property of the Named Query: typically either a dataset when set to Query, an integer representing the number of rows affected when set to Update Query, or an object matching the data type of the value returned by a Scalar Query.

  • Scope

Gateway

Code Examples
Simple Example - Without Parameters
# This example runs a Named Query without any parameters in the Project scope.
# The second argument in the function is NOT optional, so Named Queries that do not require a parameter must still pass an empty dictionary as an argument.

# Request the Named Query with an empty dictionary as the second parameter. 
system.db.runNamedQuery("folderName/myNamedQuery", {})
Gateway Scope Example
# This example runs a Named Query without any parameters in the Gateway scope.
# The last argument in the function is NOT optional, so Named Queries that do not require a parameter must still pass an empty dictionary as an argument.

# Request the Named Query to execute. 
system.db.runNamedQuery("ProjectName", "folderName/myNamedQuery", {})
Simple Example - With Parameters
# This example runs a Named Query while passing some parameters in the Project scope.
# The Named Query is assumed to have two parameters already defined on the Named Query:
# param1 : A string
# param2 : An integer

# Create a Python dictionary of parameters to pass.
params = {"param1":"my string", "param2":10}
 
# Run the Named Query.
system.db.runNamedQuery("myUpdateQuery", params)
Keywords

system db runNamedQuery, db.runNamedQuery