A SQL statement is pre-compiled and stored in a
PreparedStatement object. This object can then be used to
efficiently execute this statement multiple times.
Note: The setXXX methods for setting IN parameter values
must specify types that are compatible with the defined SQL type of
the input parameter. For instance, if the IN parameter has SQL type
Integer then setInt should be used.
If arbitrary parameter type conversions are required then the
setObject method should be used with a target SQL type.
Some prepared statements return multiple results; the execute
method handles these complex statements as well as the simpler
form of statements handled by executeQuery and executeUpdate.
Set a parameter to a Java String value. The driver converts this
to a SQL VARCHAR or LONGVARCHAR value (depending on the arguments
size relative to the driver's limits on VARCHARs) when it sends
it to the database.
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
setBytes
public abstract void setBytes(int parameterIndex,
byte x[]) throws SQLException
Set a parameter to a Java array of bytes. The driver converts
this to a SQL VARBINARY or LONGVARBINARY (depending on the
argument's size relative to the driver's limits on VARBINARYs)
when it sends it to the database.
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
When a very large ASCII value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.InputStream. JDBC will read the data from the stream
as needed, until it reaches end-of-file. The JDBC driver will
do any necessary conversion from ASCII to the database char format.
Note: This stream object can either be a standard
Java stream object or your own subclass that implements the
standard interface.
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the java input stream which contains the ASCII parameter value
When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.InputStream. JDBC will read the data from the stream
as needed, until it reaches end-of-file. The JDBC driver will
do any necessary conversion from UNICODE to the database char format.
Note: This stream object can either be a standard
Java stream object or your own subclass that implements the
standard interface.
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the java input stream which contains the
UNICODE parameter value
When a very large binary value is input to a LONGVARBINARY
parameter, it may be more practical to send it via a
java.io.InputStream. JDBC will read the data from the stream
as needed, until it reaches end-of-file.
Note: This stream object can either be a standard
Java stream object or your own subclass that implements the
standard interface.
Parameters:
parameterIndex - the first parameter is 1, the second is 2, ...
x - the java input stream which contains the binary parameter value
In general, parameter values remain in force for repeated use of a
Statement. Setting a parameter value automatically clears its
previous value. However, in some cases it is useful to immediately
release the resources used by the current parameter values; this can
be done by calling clearParameters.
setObject
public abstract void setObject(int parameterIndex,
Object x,
int targetSqlType,
int scale) throws SQLException
Set the value of a parameter using an object; use the
java.lang equivalent objects for integral values.
The given Java object will be converted to the targetSqlType
before being sent to the database.
Note that this method may be used to pass datatabase-
specific abstract data types. This is done by using a Driver-
specific Java type and using a targetSqlType of
java.sql.types.OTHER.
Parameters:
parameterIndex - The first parameter is 1, the second is 2, ...
x - The object containing the input parameter value
targetSqlType - The SQL type (as defined in java.sql.Types) to be
sent to the database. The scale argument may further qualify this type.
scale - For java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types
this is the number of digits after the decimal. For all other
types this value will be ignored,
Set the value of a parameter using an object; use the
java.lang equivalent objects for integral values.
The JDBC specification specifies a standard mapping from
Java Object types to SQL types. The given argument java object
will be converted to the corresponding SQL type before being
sent to the database.
Note that this method may be used to pass datatabase
specific abstract data types, by using a Driver specific Java
type.
Parameters:
parameterIndex - The first parameter is 1, the second is 2, ...
x - The object containing the input parameter value
Some prepared statements return multiple results; the execute
method handles these complex statements as well as the simpler
form of statements handled by executeQuery and executeUpdate.