Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scripting_function


Panel
titleDescription

Runs a query against a database connection just like the runQuery function, but only returns the value from the first row and column.  If no results are returned from the query, the special value None is returned.

Panel
titleClient Permission Restrictions

Permission Type: Legacy Database Access

Client access to this scripting function is blocked to users that do not meet the role/zone requirements for the above permission type. This function is unaffected when run in the Gateway scope.

Panel
titleSyntax

system.db.runScalarQuery(query, database, [tx])

  • Parameters

String query - A SQL query that should be designed to return one row and one column.

String database - The name of the database connection to execute against. 

String tx - A transaction identifier. If omitted, the query will be executed in its own transaction. [optional]

  • Returns

Any The value from the first row and first column of the results. Returns None if no rows were returned.

  • Scope

Gateway

Panel
titleSyntax

system.db.runScalarQuery(query, [database], [tx])

  • Parameters

String query - A SQL query that should be designed to return one row and one column.

String database - The name of the database connection to execute against. If omitted or "", the project's default database connection will be used. [optional]

String tx - A transaction identifier. If omitted, the query will be executed in its own transaction. [optional]

  • Returns

Any The value from the first row and first column of the results. Returns None if no rows were returned.

  • Scope

Vision Client, Perspective Session

Panel
titleCode Examples
Code Block
languagepy
titleCode Snippet
# This code counts the number of active alarms and acknowledges them all if there is at least one.
numAlarms = system.db.runScalarQuery("SELECT COUNT(*) FROM alarmstatus " + "WHERE unacknowledged = 1") 
if numAlarms > 0: 
   # There are alarms - acknowledge all of them 
   system.db.runUpdateQuery("UPDATE alarmstatus SET unacknowledged = 0")
Code Block
languagepy
titleCode Snippet
# This code reads a single value from a table and shows it to the user anin a popup.
level = system.db.runScalarQuery("SELECT Level FROM LakeInfo WHERE LakeId='Tahoe'") 
system.gui.messageBox("The lake level is: %d feet" % level) 
Panel
titleKeywords

system db runScalarQuery, db.runScalarQuery