Generating Query Results

There are several ways to generate query results:

rigDBresult()

This function returns the query result data as an array. Typically you'll use this in a loop, like this:

get rigDbQuery("YOUR QUERY")

put rigDBresult() into tResult

repeat for each key tKey in tResult
    put tResult[tKey] into tRow
    put tRow[2] & comma after tResultData
    put tRow[4] & comma after tResultData
    put tRow[7] & return after tResultData
end repeat

In the example above index 2, 4 and 7 of tRow define the value in the second, fourth and seventh column of the current row. Note: If you need to keep the order of the result values, you need to add an incrementer:

get rigDbQuery("YOUR QUERY")

put rigDBresult() into tResult

put 0 into tIncr
repeat for each key tKey in tResult
    add 1 to tIncr

    put tResult[tIncr] into tRow
    put tRow[2] & comma after tResultData
    put tRow[4] & comma after tResultData
    put tRow[7] & return after tResultData
end repeat

You may fetch the values for each row by column name like in the following example:

get rigDbQuery("YOUR QUERY")

put rigDBresult() into tResult

put 0 into tIncr
repeat for each key tKey in tResult
    add 1 to tIncr

    put rigDbRow(tIncr) into tRow

    put tRow["title"] & comma after tResultData
    put tRow["name"] & comma after tResultData
    put tRow["body"] & return after tResultData
end repeat

If you run queries that might not produce a result, you are encouraged to test the result first:

put rigDbQuery("YOUR QUERY") into tQuery

# CHECK IF THE QUERY RESULT HAS DATA
if tQuery["numrows"] > 0 then
   put rigDBresult() into tResult

   put 0 into tIncr
   repeat for each key tKey in tResult
      add 1 to tIncr

      put rigDbRow(tIncr) into tRow

      put tRow["title"] & comma after tResultData
      put tRow["name"] & comma after tResultData
      put tRow["body"] & return after tResultData
   end repeat
end if

yourQuery["resultarray"]

This query result index contains the pure result data as an array. Typically you'll use this in a loop, like this:

put rigDbQuery("YOUR QUERY") into tQuery

repeat for each key tKey in tQuery["resultarray"]

    put tQuery["resultarray"][tKey] into tRow
    put tRow[2] & comma after tResultData
    put tRow[4] & comma after tResultData
    put tRow[7] & return after tResultData
end repeat

yourQuery["fieldnames"]

This query result index contains the table field names in a numbered array.

rigDbRow()

This function returns a single result row as an array. If your query has more than one row, it returns only the first row. The result is returned as an array. Here's a usage example:

put rigDbQuery("YOUR QUERY") into tQuery

if tQuery["numrows"] > 0 then

   put rigDbRow() into tRow

    put tRow["title"] & comma after tResultData
    put tRow["name"] & comma after tResultData
    put tRow["body"] & return after tResultData
end if

If you want a specific row returned you can submit the row number as a digit in the first parameter:

put rigDbRow(5) into tRow

In addition, you can walk forward/backwards/first/last through your results using these variations:

put rigDbFirstRow() into tRow
put rigDbLastRow() into tRow
put rigDbNextRow() into tRow
put rigDbPreviousRow() into tRow
put rigDbCurrentRow() into tRow

They all return an array.

Result Helper Functions

rigNumRows()

The number of rows returned by the query.

put rigDbQuery("SELECT * FROM myTable") into tQuery

get rigNumRows()

Note: You can always use tQuery["numrows"].

rigNumFields()

The number of FIELDS (columns) returned by the query.

put rigDbQuery("SELECT * FROM myTable") into tQuery

get rigNumFields()