The following types of commands can take parameters:
A language command, when the command text contains variables
An RPC command, when the stored procedure takes parameters
A cursor-declare command, when the body of the cursor contains host language parameters
A cursor-open command, when the body of the cursor contains host language parameters
A message command
A dynamic SQL execute command
An application calls ct_param or ct_setparam once for each parameter that a command requires. These routines perform the same function, except that ct_param copies a parameter value, while ct_setparam copies the address of a variable that contains the value. If ct_setparam is used, Client-Library reads the parameter value when the command is sent. The ct_setparam method allows the application to change parameter values before resending the command.