Class StatementParameters2

java.lang.Object
com.mcpdbwizard.pub.StatementParameters2
Direct Known Subclasses:
CallableStatementParameters, DmlStatement

public class StatementParameters2 extends Object
A set of parameters for a PreparedStatement or CallableStatement

This class is used to represent IN parameters for a SQL statement or PL/SQL Procedure.

This class supercedes an older class called 'statementParameters.java', which has been retired. MCPDBWizard generated code now uses StatementParameters2.java.

Under normal circumstances MCPDBWizard users will have no reason to use this class directly - the generated code will use it.

Copyright 2003-2026 ATB Consultancy Services Ltd (formerly Orinda Software Ltd, Dublin, Ireland)

Since:
4.0.1901
Version:
7
Author:
[email protected]
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int[]
    Array of int for storing file lengths.
    protected boolean[]
    Array of boolean for storing parameters.
    protected Object[]
    Array of Object for storing parameters.
    protected String[]
    Array of mostly null names for OPAQUE data types
    protected int[]
    Array of int for storing parameter types.
    protected LogInterface
    A LogInterface object
  • Constructor Summary

    Constructors
    Constructor
    Description
    StatementParameters2(int howMany, LogInterface theLog)
    Create a set of statement Parameters of size howMany.
    StatementParameters2(String sqlStatement, LogInterface theLog)
    Create a set of statement Parameters by counting '?'
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    bindParameters(PreparedStatement thePreparedStatement)
    Bind these parameter to a Prepared Statement.
    static void
    checkBuild(int pBuild)
    Return version of this class This menthod is used by generated code to make sure that it's using the right version of com.mcpdbwizard.pub.
    protected void
    checkRange(int paramId)
    Complain if param id is too high
    void
    Complain if not all parameters set...
    void
    Clear our parameter array
    getParam(int parameterId)
    Get a parameter
    int
    Return number of parameters that are null
    Get all parameters
    Return a String that uniquely identifies a set of parameters.
    void
    setNativeBooleanParam(int parameterId, Boolean parameterValue)
    A convenience method to set a native ISO-SQL BOOLEAN (23ai) parameter.
    void
    setParam(int parameterId, boolean parameterValue)
    A convenience method to set a boolean parameter.
    void
    setParam(int parameterId, byte parameterValue)
    A convenience method to set an byte parameter.
    void
    setParam(int parameterId, byte[] parameterValue)
    A convenience method to set an byte[] parameter.
    void
    setParam(int parameterId, double parameterValue)
    A convenience method to set an double parameter.
    void
    setParam(int parameterId, double[] parameterValue)
    A convenience method to set a native Oracle VECTOR (23ai) parameter.
    void
    setParam(int parameterId, float parameterValue)
    A convenience method to set an float parameter.
    void
    setParam(int parameterId, int parameterValue)
    A convenience method to set an int parameter.
    void
    setParam(int parameterId, long parameterValue)
    A convenience method to set an long parameter.
    void
    setParam(int parameterId, short parameterValue)
    A convenience method to set an short parameter.
    void
    setParam(int parameterId, ReadOnlyRowSet parameterValue)
    A convenience method to set a ReadOnlyRowSet parameter.
    void
    setParam(int parameterId, BufferedInputStream parameterValue, int fileSize, int dataType)
    A convenience method to set a BufferedInputStream parameter.
    void
    setParam(int parameterId, File parameterValue)
    A convenience method to set an File parameter.
    void
    setParam(int parameterId, InputStream parameterValue, int fileSize, int dataType)
    A convenience method to set an InputStream parameter.
    void
    setParam(int parameterId, Boolean parameterValue)
    A convenience method to set a boolean parameter.
    void
    setParam(int parameterId, Byte parameterValue)
    A convenience method to set an byte parameter.
    void
    setParam(int parameterId, Double parameterValue)
    A convenience method to set an double parameter.
    void
    setParam(int parameterId, Float parameterValue)
    A convenience method to set an float parameter.
    void
    setParam(int parameterId, Integer parameterValue)
    A convenience method to set an int parameter.
    void
    setParam(int parameterId, Long parameterValue)
    A convenience method to set an long parameter.
    void
    setParam(int parameterId, Short parameterValue)
    A convenience method to set an short parameter.
    void
    setParam(int parameterId, String parameterValue)
    Set a parameter
    void
    setParam(int parameterId, String opaqueName, oracle.sql.OPAQUE parameterValue)
    Set an Opaque parameter
    void
    setParam(int parameterId, String structName, oracle.sql.STRUCT parameterValue)
    Set an STRUCT parameter
    void
    setParam(int parameterId, BigDecimal parameterValue)
    A convenience method to set an double parameter.
    void
    setParam(int parameterId, Date parameterValue)
    Set a parameter.
    void
    setParam(int parameterId, Timestamp parameterValue)
    Set a parameter
    void
    setParam(int parameterId, Date parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.BFILE parameterValue)
    A convenience method to set a BFILE parameter.
    void
    setParam(int parameterId, oracle.sql.BLOB parameterValue)
    A convenience method to set a BLOB parameter.
    void
    setParam(int parameterId, oracle.sql.CLOB parameterValue)
    A convenience method to set a CLOB parameter.
    void
    setParam(int parameterId, oracle.sql.INTERVALDS parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.INTERVALYM parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.json.OracleJsonValue parameterValue)
    A convenience method to set a native Oracle JSON (21c+) parameter.
    void
    setParam(int parameterId, oracle.sql.ROWID parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.TIMESTAMP parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.TIMESTAMPLTZ parameterValue)
    Set a parameter
    void
    setParam(int parameterId, oracle.sql.TIMESTAMPTZ parameterValue)
    Set a parameter
    void
    setPlSqlIndexArrayParam(int parameterId, PlsqlIndexByTable2 parameterValue)
    Set a PL/SQL INDEX BY Array parameter
    void
    setPlSqlTableArrayParam(int parameterId, Object parameterValue)
    Set an Array parameter
    void
    setVectorBinaryParam(int parameterId, byte[] parameterValue)
    A convenience method to set a binary (bit-packed) Oracle VECTOR (23ai) parameter.
    void
    setVectorSparseParam(int parameterId, SparseVector parameterValue)
    A convenience method to set a sparse Oracle VECTOR (23ai) parameter.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • parameterArray

      protected Object[] parameterArray
      Array of Object for storing parameters.
    • inputParameterSetArray

      protected boolean[] inputParameterSetArray
      Array of boolean for storing parameters.
    • inputParameterFilesizeArray

      protected int[] inputParameterFilesizeArray
      Array of int for storing file lengths.
    • parameterTypeArray

      protected int[] parameterTypeArray
      Array of int for storing parameter types.
    • parameterOpaqueTypeNameArray

      protected String[] parameterOpaqueTypeNameArray
      Array of mostly null names for OPAQUE data types
      Since:
      6.0.2744
    • theLog

      protected LogInterface theLog
      A LogInterface object
  • Constructor Details

    • StatementParameters2

      public StatementParameters2(int howMany, LogInterface theLog)
      Create a set of statement Parameters of size howMany.
      Parameters:
      howMany - The number of parameters the statement requires.
    • StatementParameters2

      public StatementParameters2(String sqlStatement, LogInterface theLog)
      Create a set of statement Parameters by counting '?' characters in a SQL statement
      Parameters:
      sqlStatement - The statement that we will be working with
  • Method Details

    • checkBuild

      public static void checkBuild(int pBuild) throws CSException
      Return version of this class This menthod is used by generated code to make sure that it's using the right version of com.mcpdbwizard.pub.
      Parameters:
      pBuild - The expected build number, e.g. "2705"
      Throws:
      CSException - if builds not the same
      Since:
      6.0.2706
    • getParamCount

      public int getParamCount()
      Return number of parameters that are null
      Returns:
      The number of parameters in this statement.
    • clearParameters

      public void clearParameters()
      Clear our parameter array
    • setParam

      public void setParam(int parameterId, Timestamp parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.ROWID parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.TIMESTAMP parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.TIMESTAMPTZ parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.TIMESTAMPLTZ parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.INTERVALYM parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.INTERVALDS parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 10.1.0
    • setPlSqlIndexArrayParam

      public void setPlSqlIndexArrayParam(int parameterId, PlsqlIndexByTable2 parameterValue) throws CSException
      Set a PL/SQL INDEX BY Array parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - The PL/SQL Array
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 10.1.0
    • setParam

      public void setParam(int parameterId, String opaqueName, oracle.sql.OPAQUE parameterValue) throws CSException
      Set an Opaque parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      opaqueName -
      parameterValue -
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 10.1.0
    • setParam

      public void setParam(int parameterId, String structName, oracle.sql.STRUCT parameterValue) throws CSException
      Set an STRUCT parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      structName -
      parameterValue -
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 10.1.0
    • setPlSqlTableArrayParam

      public void setPlSqlTableArrayParam(int parameterId, Object parameterValue) throws CSException
      Set an Array parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue -
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 9.0.1
    • setParam

      public void setParam(int parameterId, Date parameterValue) throws CSException
      Set a parameter. This isn't normally used as java.sql.Date truncates the time portion of a date.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Date parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A java.util.date parameter. We ignore nanoseconds. This is because DATE is stored with a precision of 1 second but can be searched with nanosecond precison. If you don't always drop the nanosecond portion you can create records which you can't find.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      4.0.2016 Support for java.util.Date added.
    • setParam

      public void setParam(int parameterId, boolean parameterValue) throws CSException
      A convenience method to set a boolean parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, byte parameterValue) throws CSException
      A convenience method to set an byte parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, short parameterValue) throws CSException
      A convenience method to set an short parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, int parameterValue) throws CSException
      A convenience method to set an int parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, long parameterValue) throws CSException
      A convenience method to set an long parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, float parameterValue) throws CSException
      A convenience method to set an float parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, double parameterValue) throws CSException
      A convenience method to set an double parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Boolean parameterValue) throws CSException
      A convenience method to set a boolean parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Byte parameterValue) throws CSException
      A convenience method to set an byte parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Short parameterValue) throws CSException
      A convenience method to set an short parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Integer parameterValue) throws CSException
      A convenience method to set an int parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Long parameterValue) throws CSException
      A convenience method to set an long parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Float parameterValue) throws CSException
      A convenience method to set an float parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, Double parameterValue) throws CSException
      A convenience method to set an double parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, BigDecimal parameterValue) throws CSException
      A convenience method to set an double parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, File parameterValue) throws CSException
      A convenience method to set an File parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A File containing Long Data.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, byte[] parameterValue) throws CSException
      A convenience method to set an byte[] parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - An array of byte[].
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.json.OracleJsonValue parameterValue) throws CSException
      A convenience method to set a native Oracle JSON (21c+) parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A JSON document.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 21c
    • setParam

      public void setParam(int parameterId, double[] parameterValue) throws CSException
      A convenience method to set a native Oracle VECTOR (23ai) parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A vector, one element per dimension.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 23ai
    • setVectorBinaryParam

      public void setVectorBinaryParam(int parameterId, byte[] parameterValue) throws CSException
      A convenience method to set a binary (bit-packed) Oracle VECTOR (23ai) parameter. Distinct from an ordinary RAW byte[] bind: this marks the parameter as OracleTypes.VECTOR_BINARY so bindParameters binds it as a binary vector rather than RAW (a byte[] is ambiguous between the two).
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - The packed vector bytes (n bits = n/8 bytes), or null.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 23ai
    • setVectorSparseParam

      public void setVectorSparseParam(int parameterId, SparseVector parameterValue) throws CSException
      A convenience method to set a sparse Oracle VECTOR (23ai) parameter. The SparseVector is bound through the generic OracleType.VECTOR carrying an oracle.sql.VECTOR sparse value (there is no VECTOR_SPARSE bind type); the SparseVectororacle.sql.VECTOR conversion happens in bindParameters. Distinct from setVectorBinaryParam(int, byte[]) (byte[]) and the dense double[] path.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - The sparse vector, or null.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 23ai
    • setNativeBooleanParam

      public void setNativeBooleanParam(int parameterId, Boolean parameterValue) throws CSException
      A convenience method to set a native ISO-SQL BOOLEAN (23ai) parameter. Distinct from setParam(int, Boolean), which is used for the older PL/SQL boolean convention (passed across JDBC as a number).
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A native boolean.
      Throws:
      CSException - if parameterId is not a valid parameter.
      Since:
      Oracle 23ai
    • setParam

      public void setParam(int parameterId, ReadOnlyRowSet parameterValue) throws CSException
      A convenience method to set a ReadOnlyRowSet parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A ReadOnlyRowSet.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, InputStream parameterValue, int fileSize, int dataType) throws CSException
      A convenience method to set an InputStream parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - An InputStream containing Long Data.
      fileSize - How many bytes are in the data stream.
      dataType - The OracleType of the underlying object
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.CLOB parameterValue) throws CSException
      A convenience method to set a CLOB parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - An oracle.sql.CLOB containing CLOB Data.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.BFILE parameterValue) throws CSException
      A convenience method to set a BFILE parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - An oracle.sql.BFILE containing BFILE Data.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, oracle.sql.BLOB parameterValue) throws CSException
      A convenience method to set a BLOB parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - An oracle.sql.BLOB containing BLOB Data.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, BufferedInputStream parameterValue, int fileSize, int dataType) throws CSException
      A convenience method to set a BufferedInputStream parameter.
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A Buffered InputStream containing Long Data.
      fileSize - How many bytes are in the data stream.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • setParam

      public void setParam(int parameterId, String parameterValue) throws CSException
      Set a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      parameterValue - A parameter.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • getParam

      public Object getParam(int parameterId) throws CSException
      Get a parameter
      Parameters:
      parameterId - The id of the parameter to set. Id's start at 0.
      Throws:
      CSException - if parameterId is not a valid parameter.
    • getParameters

      public Object[] getParameters()
      Get all parameters
      Returns:
      An array of Object.
    • getSignature

      public String getSignature()
      Return a String that uniquely identifies a set of parameters.
      Returns:
      A unique string that describes this set of parameters.
    • bindParameters

      public void bindParameters(PreparedStatement thePreparedStatement) throws CSException
      Bind these parameter to a Prepared Statement.
      Parameters:
      thePreparedStatement - The prepared statement you want these parameters bound to.
      Throws:
      CSException
      Since:
      Oracle 9i Support for TIMESTAMP, TIMESTAMP_TZ, TIMESTAMP_LTZ, 2.0.1098 Support for Boolean parameters, 4.0.1789 Support for PL/SQL Index By Tables, 4.0.1847 Support for PL/SQL Tables
    • checkSet

      public void checkSet() throws CSException
      Complain if not all parameters set...
      Throws:
      CSException
      Since:
      2.0.1504 - method is now public instead of protected
    • checkRange

      protected void checkRange(int paramId) throws CSException
      Complain if param id is too high
      Throws:
      CSException