Class StatementParameters2
java.lang.Object
com.mcpdbwizard.pub.StatementParameters2
- Direct Known Subclasses:
CallableStatementParameters,DmlStatement
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:
- devteam@mcpdbwizard.com
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected 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 typesprotected int[]Array of int for storing parameter types.protected LogInterfaceA LogInterface object -
Constructor Summary
ConstructorsConstructorDescriptionStatementParameters2(int howMany, LogInterface theLog) Create a set of statement Parameters of sizehowMany.StatementParameters2(String sqlStatement, LogInterface theLog) Create a set of statement Parameters by counting '?' -
Method Summary
Modifier and TypeMethodDescriptionvoidbindParameters(PreparedStatement thePreparedStatement) Bind these parameter to a Prepared Statement.static voidcheckBuild(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 voidcheckRange(int paramId) Complain if param id is too highvoidcheckSet()Complain if not all parameters set...voidClear our parameter arraygetParam(int parameterId) Get a parameterintReturn number of parameters that are nullObject[]Get all parametersReturn a String that uniquely identifies a set of parameters.voidsetNativeBooleanParam(int parameterId, Boolean parameterValue) A convenience method to set a native ISO-SQLBOOLEAN(23ai) parameter.voidsetParam(int parameterId, boolean parameterValue) A convenience method to set abooleanparameter.voidsetParam(int parameterId, byte parameterValue) A convenience method to set anbyteparameter.voidsetParam(int parameterId, byte[] parameterValue) A convenience method to set anbyte[]parameter.voidsetParam(int parameterId, double parameterValue) A convenience method to set andoubleparameter.voidsetParam(int parameterId, double[] parameterValue) A convenience method to set a native OracleVECTOR(23ai) parameter.voidsetParam(int parameterId, float parameterValue) A convenience method to set anfloatparameter.voidsetParam(int parameterId, int parameterValue) A convenience method to set anintparameter.voidsetParam(int parameterId, long parameterValue) A convenience method to set anlongparameter.voidsetParam(int parameterId, short parameterValue) A convenience method to set anshortparameter.voidsetParam(int parameterId, ReadOnlyRowSet parameterValue) A convenience method to set a ReadOnlyRowSet parameter.voidsetParam(int parameterId, BufferedInputStream parameterValue, int fileSize, int dataType) A convenience method to set a BufferedInputStream parameter.voidA convenience method to set anFileparameter.voidsetParam(int parameterId, InputStream parameterValue, int fileSize, int dataType) A convenience method to set an InputStream parameter.voidA convenience method to set abooleanparameter.voidA convenience method to set anbyteparameter.voidA convenience method to set andoubleparameter.voidA convenience method to set anfloatparameter.voidA convenience method to set anintparameter.voidA convenience method to set anlongparameter.voidA convenience method to set anshortparameter.voidSet a parametervoidSet an Opaque parametervoidSet an STRUCT parametervoidsetParam(int parameterId, BigDecimal parameterValue) A convenience method to set andoubleparameter.voidSet a parameter.voidSet a parametervoidSet a parametervoidsetParam(int parameterId, oracle.sql.BFILE parameterValue) A convenience method to set a BFILE parameter.voidsetParam(int parameterId, oracle.sql.BLOB parameterValue) A convenience method to set a BLOB parameter.voidsetParam(int parameterId, oracle.sql.CLOB parameterValue) A convenience method to set a CLOB parameter.voidsetParam(int parameterId, oracle.sql.INTERVALDS parameterValue) Set a parametervoidsetParam(int parameterId, oracle.sql.INTERVALYM parameterValue) Set a parametervoidsetParam(int parameterId, oracle.sql.json.OracleJsonValue parameterValue) A convenience method to set a native OracleJSON(21c+) parameter.voidsetParam(int parameterId, oracle.sql.ROWID parameterValue) Set a parametervoidsetParam(int parameterId, oracle.sql.TIMESTAMP parameterValue) Set a parametervoidsetParam(int parameterId, oracle.sql.TIMESTAMPLTZ parameterValue) Set a parametervoidsetParam(int parameterId, oracle.sql.TIMESTAMPTZ parameterValue) Set a parametervoidsetPlSqlIndexArrayParam(int parameterId, PlsqlIndexByTable2 parameterValue) Set a PL/SQL INDEX BY Array parametervoidsetPlSqlTableArrayParam(int parameterId, Object parameterValue) Set an Array parametervoidsetVectorBinaryParam(int parameterId, byte[] parameterValue) A convenience method to set a binary (bit-packed) OracleVECTOR(23ai) parameter.voidsetVectorSparseParam(int parameterId, SparseVector parameterValue) A convenience method to set a sparse OracleVECTOR(23ai) parameter.
-
Field Details
-
parameterArray
Array of Object for storing parameters. -
inputParameterSetArray
protected boolean[] inputParameterSetArrayArray of boolean for storing parameters. -
inputParameterFilesizeArray
protected int[] inputParameterFilesizeArrayArray of int for storing file lengths. -
parameterTypeArray
protected int[] parameterTypeArrayArray of int for storing parameter types. -
parameterOpaqueTypeNameArray
Array of mostly null names for OPAQUE data types- Since:
- 6.0.2744
-
theLog
A LogInterface object
-
-
Constructor Details
-
StatementParameters2
Create a set of statement Parameters of sizehowMany.- Parameters:
howMany- The number of parameters the statement requires.
-
StatementParameters2
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
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
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis 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- ifparameterIdis 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- ifparameterIdis 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- ifparameterIdis not a valid parameter.- Since:
- Oracle 10.1.0
-
setPlSqlTableArrayParam
Set an Array parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue-- Throws:
CSException- ifparameterIdis not a valid parameter.- Since:
- Oracle 9.0.1
-
setParam
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- ifparameterIdis not a valid parameter.
-
setParam
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- ifparameterIdis not a valid parameter.- Since:
- 4.0.2016 Support for java.util.Date added.
-
setParam
A convenience method to set abooleanparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anbyteparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anshortparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anintparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anlongparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anfloatparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set andoubleparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set abooleanparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anbyteparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anshortparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anintparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anlongparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anfloatparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set andoubleparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set andoubleparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anFileparameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A File containing Long Data.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
A convenience method to set anbyte[]parameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- An array of byte[].- Throws:
CSException- ifparameterIdis not a valid parameter.
-
setParam
public void setParam(int parameterId, oracle.sql.json.OracleJsonValue parameterValue) throws CSException A convenience method to set a native OracleJSON(21c+) parameter.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A JSON document.- Throws:
CSException- ifparameterIdis not a valid parameter.- Since:
- Oracle 21c
-
setParam
A convenience method to set a native OracleVECTOR(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- ifparameterIdis not a valid parameter.- Since:
- Oracle 23ai
-
setVectorBinaryParam
A convenience method to set a binary (bit-packed) OracleVECTOR(23ai) parameter. Distinct from an ordinary RAWbyte[]bind: this marks the parameter asOracleTypes.VECTOR_BINARYsobindParametersbinds it as a binary vector rather than RAW (abyte[]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- ifparameterIdis not a valid parameter.- Since:
- Oracle 23ai
-
setVectorSparseParam
A convenience method to set a sparse OracleVECTOR(23ai) parameter. TheSparseVectoris bound through the genericOracleType.VECTORcarrying anoracle.sql.VECTORsparse value (there is noVECTOR_SPARSEbind type); theSparseVector→oracle.sql.VECTORconversion happens inbindParameters. Distinct fromsetVectorBinaryParam(int, byte[])(byte[]) and the densedouble[]path.- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- The sparse vector, or null.- Throws:
CSException- ifparameterIdis not a valid parameter.- Since:
- Oracle 23ai
-
setNativeBooleanParam
A convenience method to set a native ISO-SQLBOOLEAN(23ai) parameter. Distinct fromsetParam(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- ifparameterIdis not a valid parameter.- Since:
- Oracle 23ai
-
setParam
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- ifparameterIdis 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- ifparameterIdis not a valid parameter.
-
setParam
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- ifparameterIdis not a valid parameter.
-
setParam
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- ifparameterIdis not a valid parameter.
-
setParam
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- ifparameterIdis 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- ifparameterIdis not a valid parameter.
-
setParam
Set a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.parameterValue- A parameter.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
getParam
Get a parameter- Parameters:
parameterId- The id of the parameter to set. Id's start at 0.- Throws:
CSException- ifparameterIdis not a valid parameter.
-
getParameters
-
getSignature
Return a String that uniquely identifies a set of parameters.- Returns:
- A unique string that describes this set of parameters.
-
bindParameters
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
Complain if not all parameters set...- Throws:
CSException- Since:
- 2.0.1504 - method is now public instead of protected
-
checkRange
Complain if param id is too high- Throws:
CSException
-