pjs.prepare()

 

This API prepares a statement to execute.

You only need to prepare a statement if you have parameter markers, identified by ? (question mark) symbols, in the SQL. You may use pjs.executeDirect() otherwise.

Parameter

This API can accept an optional database connection definition object to select between multiple database connections. To select the database connection, call pjs.getDB() and pass the result as the first parameter, followed by the parameters documented below. If a database connection definition object is not passed, the default database connection is used.

  1. SQL statement string

    1. The SQL statement must be valid for the database you are using

Return Value

This method will return a handle which much be used again in other statements.

Exception Handling

SQL diagnostics are reported in the SQLCA:

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/db2/rbafzfielddescsqlca.htm

SQLCA fields are defined in Profound.js programs with the names in lowercase. sqlcode will be set to zero if execution was successful.

Example
var table = "productsp";   pjs.define("productsp_out", { type: 'data structure', qualified: true, dim: 50, extName: table }); pjs.define("searchQuery", { type: "char", length: 30 }); pjs.clear(productsp_out); searchQuery = '%' + 'Garmin' + '%'; var c1 = pjs.prepare("SELECT * FROM productsp WHERE prdesc LIKE ? ORDER BY prid"); c1.bindParameters(searchQuery.trim()); c1.execute();   pjs.fetch(c1, productsp_out, 50);   c1.close();

 

Requirements

When using an IBM i database, this API requires the Profound.js Connector module.