Fetches a row from the cursor associated with the current statement handle, relative to the cursor's current row.
This API can either fetch data into declared fields / data structures / arrays, or return data as primitive objects / arrays.
When used to return data into primitive JavaScript objects / arrays, it can be called in the form of a method attached to a statement object as follows: stmt.fetchRelative().
Parameters
- Statement handle returned from pjs.allocStmt() or pjs.prepare(). The statement handle must be executed with pjs.execute() or pjs.executeDirect() before it can be used to fetch rows. This parameter is omitted if the API is called as a statement object method.
- Number that specifies the offset of the row to fetch, relative to the current cursor position. Before any rows are fetched, the cursor is positioned before the first row and offset 1 will fetch the first row.
- Optionally, one or more Profound.js field names can be passed. If field names are passed, they will be bound to columns in the resulting rows and populated by this API if the fetch is successful. If no Profound.js field names are passed, this API will return fetched rows as an Array of Objects with keys named for the columns and values as JavaScript Numbers for numeric columns, and JavaScript Strings for all other column types. An empty Array is returned if the fetch is not successful.
- Following the optional field names, a Number can be passed that specifies the number of rows to fetch. Pass SQL_FETCH_ALL to fetch all rows. If not passed, 1 row will be fetched.
Exception Handling
An Error instance will be thrown with the following properties:
- message - The IBM i message text.
- error - The message id.
- help - The message help text.
Requirements
This API requires the Profound.js Connector module.