Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Current »

Content Freeze

As of July 25th, 2023, there is a content freeze on this page.

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.

  • No labels