public abstract class BasePrepareStatement extends MariaDbStatement implements PreparedStatement
Modifier and Type | Field and Description |
---|---|
protected int |
autoGeneratedKeys |
protected boolean |
hasLongData |
static DateTimeFormatter |
SPEC_ISO_ZONED_DATE_TIME
The ISO-like date-time formatter that formats or parses a date-time with offset and zone, such
as '2011-12-03T10:15:30+01:00[Europe/Paris]'. and without the 'T' time delimiter
This returns an immutable formatter capable of formatting and parsing a format that extends
the ISO-8601 extended offset date-time format to add the time-zone.
|
canUseServerTimeout, closed, connection, exceptionFactory, executing, fetchSize, lock, maxRows, options, protocol, queryTimeout, results, resultSetConcurrency, resultSetScrollType
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Constructor and Description |
---|
BasePrepareStatement(MariaDbConnection connection,
int resultSetScrollType,
int resultSetConcurrency,
int autoGeneratedKeys,
ExceptionFactory exceptionFactory)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
BasePrepareStatement |
clone(MariaDbConnection connection)
Clone cached object.
|
protected abstract boolean |
executeInternal(int fetchSize) |
long |
executeLargeUpdate() |
abstract ParameterMetaData |
getParameterMetaData()
Retrieves the number, types and properties of this
PreparedStatement object's
parameters. |
void |
setArray(int parameterIndex,
Array array)
Sets the designated parameter to the given
java.sql.Array object. |
void |
setAsciiStream(int parameterIndex,
InputStream stream)
This function reads up the entire stream and stores it in memory since we need to know the
length when sending it to the server use the corresponding method with a length parameter if
memory is an issue
Sets the designated parameter to the given input stream. |
void |
setAsciiStream(int parameterIndex,
InputStream stream,
int length)
Sets the designated parameter to the given input stream, which will have the specified number
of bytes.
|
void |
setAsciiStream(int parameterIndex,
InputStream stream,
long length)
Sets the designated parameter to the given input stream, which will have the specified number
of bytes.
|
void |
setBigDecimal(int parameterIndex,
BigDecimal bigDecimal)
Sets the designated parameter to the given
java.math.BigDecimal value. |
void |
setBinaryStream(int parameterIndex,
InputStream stream)
This function reads up the entire stream and stores it in memory since we need to know the
length when sending it to the server
Sets the designated parameter to the given input stream. |
void |
setBinaryStream(int parameterIndex,
InputStream stream,
int length)
Sets the designated parameter to the given input stream, which will have the specified number
of bytes.
|
void |
setBinaryStream(int parameterIndex,
InputStream stream,
long length)
Sets the designated parameter to the given input stream, which will have the specified number
of bytes.
|
void |
setBlob(int parameterIndex,
Blob blob)
Sets the designated parameter to the given
java.sql.Blob object. |
void |
setBlob(int parameterIndex,
InputStream inputStream)
Sets the designated parameter to a
InputStream object. |
void |
setBlob(int parameterIndex,
InputStream inputStream,
long length)
Sets the designated parameter to a
InputStream object. |
void |
setBoolean(int parameterIndex,
boolean value)
Sets the designated parameter to the given Java
boolean value. |
void |
setByte(int parameterIndex,
byte bit)
Sets the designated parameter to the given Java
byte value. |
void |
setBytes(int parameterIndex,
byte[] bytes)
Sets the designated parameter to the given Java array of bytes.
|
void |
setCharacterStream(int parameterIndex,
Reader reader)
Sets the designated parameter to the given
Reader object. |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
Sets the designated parameter to the given
Reader object, which is the given
number of characters long. |
void |
setCharacterStream(int parameterIndex,
Reader reader,
long length)
Sets the designated parameter to the given
Reader object, which is the given
number of characters long. |
void |
setClob(int parameterIndex,
Clob clob)
Sets the designated parameter to the given
java.sql.Clob object. |
void |
setClob(int parameterIndex,
Reader reader)
Sets the designated parameter to a
Reader object. |
void |
setClob(int parameterIndex,
Reader reader,
long length)
Sets the designated parameter to a
Reader object. |
void |
setDate(int parameterIndex,
Date date)
Sets the designated parameter to the given
java.sql.Date value using the default
time zone of the virtual machine that is running the application. |
void |
setDate(int parameterIndex,
Date date,
Calendar cal)
Sets the designated parameter to the given
java.sql.Date value, using the given
Calendar object. |
void |
setDouble(int parameterIndex,
double value)
Sets the designated parameter to the given Java
double value. |
void |
setFloat(int parameterIndex,
float value)
Sets the designated parameter to the given Java
float value. |
void |
setInt(int column,
int value) |
void |
setLong(int parameterIndex,
long value)
Sets the designated parameter to the given Java
long value. |
void |
setNCharacterStream(int parameterIndex,
Reader value)
Sets the designated parameter to a
Reader object. |
void |
setNCharacterStream(int parameterIndex,
Reader value,
long length)
Sets the designated parameter to a
Reader object. |
void |
setNClob(int parameterIndex,
NClob value)
Sets the designated parameter to a
java.sql.NClob object. |
void |
setNClob(int parameterIndex,
Reader reader)
Sets the designated parameter to a
Reader object. |
void |
setNClob(int parameterIndex,
Reader reader,
long length)
Sets the designated parameter to a
Reader object. |
void |
setNString(int parameterIndex,
String value)
Sets the designated paramter to the given
String object. |
void |
setNull(int parameterIndex,
ColumnType mariadbType)
Sets the designated parameter to SQL
NULL . |
void |
setNull(int parameterIndex,
int sqlType)
Sets the designated parameter to SQL
NULL . |
void |
setNull(int parameterIndex,
int sqlType,
String typeName)
Sets the designated parameter to SQL
NULL . |
void |
setObject(int parameterIndex,
Object obj)
Sets the value of the designated parameter using the given object.
|
void |
setObject(int parameterIndex,
Object obj,
int targetSqlType)
Sets the value of the designated parameter with the given object.
|
void |
setObject(int parameterIndex,
Object obj,
int targetSqlType,
int scaleOrLength)
Sets the value of the designated parameter with the given object.
|
void |
setObject(int parameterIndex,
Object obj,
SQLType targetSqlType) |
void |
setObject(int parameterIndex,
Object obj,
SQLType targetSqlType,
int scaleOrLength) |
abstract void |
setParameter(int parameterIndex,
ParameterHolder holder) |
void |
setRef(int parameterIndex,
Ref ref)
Sets the designated parameter to the given
REF(<structured-type>) value. |
void |
setRowId(int parameterIndex,
RowId rowid)
Sets the designated parameter to the given
java.sql.RowId object. |
void |
setShort(int parameterIndex,
short value)
Sets the designated parameter to the given Java
short value. |
void |
setSQLXML(int parameterIndex,
SQLXML xmlObject)
Sets the designated parameter to the given
java.sql.SQLXML object. |
void |
setString(int parameterIndex,
String str)
Set string parameter.
|
void |
setTime(int parameterIndex,
Time time)
Sets the designated parameter to the given
java.sql.Time value. the driver uses
the default timezone, which is that of the virtual machine running the application. |
void |
setTime(int parameterIndex,
Time time,
Calendar cal)
Sets the designated parameter to the given
java.sql.Time value, using the given
Calendar object. |
void |
setTimestamp(int parameterIndex,
Timestamp timestamp)
Sets the designated parameter to the given
java.sql.Timestamp value. |
void |
setTimestamp(int parameterIndex,
Timestamp timestamp,
Calendar cal)
Sets the designated parameter to the given
java.sql.Timestamp value, using the
given Calendar object. |
void |
setUnicodeStream(int parameterIndex,
InputStream x,
int length)
Deprecated.
deprecated
|
void |
setURL(int parameterIndex,
URL url)
Sets the designated parameter to the given
java.net.URL value. |
addBatch, cancel, checkClose, checkCloseOnCompletion, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeBatchEpilogue, executeBatchExceptionEpilogue, executeEpilogue, executeExceptionEpilogue, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeQueryPrologue, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setTimerTask, skipMoreResults, testExecute, unwrap
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addBatch, clearParameters, execute, executeQuery, executeUpdate, getMetaData
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
isWrapperFor, unwrap
public static final DateTimeFormatter SPEC_ISO_ZONED_DATE_TIME
This returns an immutable formatter capable of formatting and parsing a format that extends the ISO-8601 extended offset date-time format to add the time-zone.
protected int autoGeneratedKeys
protected boolean hasLongData
public BasePrepareStatement(MariaDbConnection connection, int resultSetScrollType, int resultSetConcurrency, int autoGeneratedKeys, ExceptionFactory exceptionFactory)
connection
- current connectionresultSetScrollType
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
, ResultSet.TYPE_SCROLL_INSENSITIVE
, or
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency
- one of the following ResultSet
constants:
ResultSet.CONCUR_READ_ONLY
or ResultSet.CONCUR_UPDATABLE
autoGeneratedKeys
- a flag indicating whether auto-generated keys should be returned; one
of Statement.RETURN_GENERATED_KEYS
or Statement.NO_GENERATED_KEYS
exceptionFactory
- exception factorypublic BasePrepareStatement clone(MariaDbConnection connection) throws CloneNotSupportedException
clone
in class MariaDbStatement
connection
- connectionCloneNotSupportedException
- if cloning exceptionpublic long executeLargeUpdate() throws SQLException
executeLargeUpdate
in interface PreparedStatement
SQLException
protected abstract boolean executeInternal(int fetchSize) throws SQLException
SQLException
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
Reader
object, which is the given
number of characters long. When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a java.io.Reader
object. The data will be read from the stream as needed until end-of-file is reached. 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.
setCharacterStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java.io.Reader
object that contains the Unicode datalength
- the number of characters in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException
Reader
object, which is the given
number of characters long. When a very large UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to send it via a java.io.Reader
object. The data will be read from the stream as needed until end-of-file is reached. 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.
setCharacterStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java.io.Reader
object that contains the Unicode datalength
- the number of characters in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
Reader
object. When a very large
UNICODE value is input to a LONGVARCHAR
parameter, it may be more practical to
send it via a java.io.Reader
object. The data will be read from the stream as
needed until end-of-file is reached. 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.
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setCharacterStream
which takes a length parameter.
setCharacterStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...reader
- the java.io.Reader
object that contains the Unicode dataSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setRef(int parameterIndex, Ref ref) throws SQLException
REF(<structured-type>)
value. The
driver converts this to an SQL REF
value when it sends it to the database.setRef
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...ref
- an SQL REF
valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBlob(int parameterIndex, Blob blob) throws SQLException
java.sql.Blob
object. The driver
converts this to an SQL BLOB
value when it sends it to the database.setBlob
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...blob
- a Blob
object that maps an SQL BLOB
valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException
InputStream
object. The inputstream must
contain the number of characters specified by length otherwise a SQLException
will
be generated when the PreparedStatement
is executed. This method differs from the
setBinaryStream
(int, InputStream, int)
method because it informs the driver that the parameter value
should be sent to the server as a BLOB
. When the setBinaryStream
method is used, the driver may have to do extra work to determine whether the parameter data
should be sent to the server as a LONGVARBINARY
or a BLOB
setBlob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...inputStream
- An object that contains the data to set the parameter value to.length
- the number of bytes in the parameter data.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
; if the length specified is less than zero or if the number of
bytes in the inputstream does not match the specfied length.public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream
object. This method differs from
the setBinaryStream (int, InputStream)
method because it informs the driver that
the parameter value should be sent to the server as a BLOB
. When the
setBinaryStream
method is used, the driver may have to do extra work to determine
whether the parameter data should be sent to the server as a LONGVARBINARY
or a
BLOB
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setBlob
which takes a length parameter.
setBlob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...inputStream
- An object that contains the data to set the parameter value to.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or if parameterIndex does not correspond to a parameter marker in
the SQL statement,public void setClob(int parameterIndex, Clob clob) throws SQLException
java.sql.Clob
object. The driver
converts this to an SQL CLOB
value when it sends it to the database.setClob
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...clob
- a Clob
object that maps an SQL CLOB
valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader
object. The reader must contain the
number of characters specified by length otherwise a SQLException
will be
generated when the PreparedStatement
is executed. This method differs from the
setCharacterStream (int, Reader,
int)
method because it informs the driver that the parameter value should be sent to the
server as a CLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter data should be sent to the
server as a LONGVARCHAR
or a CLOB
setClob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or if the length specified is less than zero.public void setClob(int parameterIndex, Reader reader) throws SQLException
Reader
object. This method differs from the
setCharacterStream (int, Reader)
method because it informs the driver that the
parameter value should be sent to the server as a CLOB
. When the
setCharacterStream
method is used, the driver may have to do extra work to determine
whether the parameter data should be sent to the server as a LONGVARCHAR
or a
CLOB
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setClob
which takes a length parameter.
setClob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or if parameterIndex does not correspond to a parameter marker in
the SQL statementpublic void setArray(int parameterIndex, Array array) throws SQLException
java.sql.Array
object. The driver
converts this to an SQL ARRAY
value when it sends it to the database.setArray
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...array
- an Array
object that maps an SQL ARRAY
valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setDate(int parameterIndex, Date date, Calendar cal) throws SQLException
java.sql.Date
value, using the given
Calendar
object. The driver uses the Calendar
object to construct an
SQL DATE
value, which the driver then sends to the database. With a Calendar
object, the driver can calculate the date taking into account a custom timezone. If no
Calendar
object is specified, the driver uses the default timezone, which is that
of the virtual machine running the application.setDate
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...date
- the parameter valuecal
- the Calendar
object the driver will use to construct the dateSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setDate(int parameterIndex, Date date) throws SQLException
java.sql.Date
value using the default
time zone of the virtual machine that is running the application. The driver converts this to
an SQL DATE
value when it sends it to the database.setDate
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...date
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setTime(int parameterIndex, Time time, Calendar cal) throws SQLException
java.sql.Time
value, using the given
Calendar
object. The driver uses the Calendar
object to construct an
SQL TIME
value, which the driver then sends to the database. With a Calendar
object, the driver can calculate the time taking into account a custom timezone. If no
Calendar
object is specified, the driver uses the default timezone, which is that
of the virtual machine running the application.setTime
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...time
- the parameter valuecal
- the Calendar
object the driver will use to construct the timeSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setTime(int parameterIndex, Time time) throws SQLException
java.sql.Time
value. the driver uses
the default timezone, which is that of the virtual machine running the application.setTime
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...time
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setTimestamp(int parameterIndex, Timestamp timestamp, Calendar cal) throws SQLException
java.sql.Timestamp
value, using the
given Calendar
object. The driver uses the Calendar
object to
construct an SQL TIMESTAMP
value, which the driver then sends to the database.
With a Calendar
object, the driver can calculate the timestamp taking into account
a custom timezone. If no Calendar
object is specified, the driver uses the default
timezone, which is that of the virtual machine running the application.setTimestamp
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...timestamp
- the parameter valuecal
- the Calendar
object the driver will use to construct the timestampSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setTimestamp(int parameterIndex, Timestamp timestamp) throws SQLException
java.sql.Timestamp
value. The driver
converts this to an SQL TIMESTAMP
value when it sends it to the database.setTimestamp
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...timestamp
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setNull(int parameterIndex, int sqlType) throws SQLException
NULL
.
Note: You must specify the parameter's SQL type.
setNull
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...sqlType
- the SQL type code defined in java.sql.Types
SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setNull(int parameterIndex, ColumnType mariadbType) throws SQLException
NULL
.
Note: You must specify the parameter's SQL type.
parameterIndex
- the first parameter is 1, the second is 2, ...mariadbType
- the type code defined in ColumnType
SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL
. This version of the method
setNull
should be used for user-defined types and REF type parameters. Examples of
user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.
Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-defined type the name is the type name of the parameter itself. For a REF parameter, the name is the type name of the referenced type. If a JDBC driver does not need the type code or type name information, it may ignore it.
Although it is intended for user-defined and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-defined or REF type, the given typeName is ignored.
setNull
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...sqlType
- a value from java.sql.Types
typeName
- the fully-qualified name of an SQL user-defined type; ignored if the parameter
is not a user-defined type or REFSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public abstract void setParameter(int parameterIndex, ParameterHolder holder) throws SQLException
SQLException
public void setURL(int parameterIndex, URL url) throws SQLException
java.net.URL
value. The driver converts
this to an SQL DATALINK
value when it sends it to the database.setURL
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...url
- the java.net.URL
object to be setSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public abstract ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement
object's
parameters.getParameterMetaData
in interface PreparedStatement
ParameterMetaData
object that contains information about the number,
types and properties for each parameter marker of this PreparedStatement
objectSQLException
- if a database access error occurs or this method is called on a closed
PreparedStatement
ParameterMetaData
public void setRowId(int parameterIndex, RowId rowid) throws SQLException
java.sql.RowId
object. The driver
converts this to a SQL ROWID
value when it sends it to the databasesetRowId
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...rowid
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setNString(int parameterIndex, String value) throws SQLException
String
object. The driver converts this
to a SQL NCHAR
or NVARCHAR
or LONGNVARCHAR
value
(depending on the argument's size relative to the driver's limits on NVARCHAR
values) when it sends it to the database.setNString
in interface PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the driver does not support national character sets; if the driver can detect
that a data conversion error could occur; if a database access error occurs; or this method
is called on a closed PreparedStatement
public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader
object. The Reader
reads
the data till end-of-file is reached. The driver does the necessary conversion from Java
character format to the national character set in the database.setNCharacterStream
in interface PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valuelength
- the number of characters in the parameter data.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the driver does not support national character sets; if the driver can detect
that a data conversion error could occur; if a database access error occurs; or this method
is called on a closed PreparedStatement
public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Reader
object. The Reader
reads
the data till end-of-file is reached. The driver does the necessary conversion from Java
character format to the national character set in the database.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setNCharacterStream
which takes a length parameter.
setNCharacterStream
in interface PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the driver does not support national character sets; if the driver can detect
that a data conversion error could occur; if a database access error occurs; or this method
is called on a closed PreparedStatement
public void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob
object. The driver converts this
to a SQL NCLOB
value when it sends it to the database.setNClob
in interface PreparedStatement
parameterIndex
- of the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the driver does not support national character sets; if the driver can detect
that a data conversion error could occur; if a database access error occurs; or this method
is called on a closed PreparedStatement
public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader
object. The reader must contain the
number of characters specified by length otherwise a SQLException
will be
generated when the PreparedStatement
is executed. This method differs from the
setCharacterStream (int, Reader,
int)
method because it informs the driver that the parameter value should be sent to the
server as a NCLOB
. When the setCharacterStream
method is used, the
driver may have to do extra work to determine whether the parameter data should be sent to the
server as a LONGNVARCHAR
or a NCLOB
setNClob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.length
- the number of characters in the parameter data.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the length specified is less than zero; if the driver does not support
national character sets; if the driver can detect that a data conversion error could occur;
if a database access error occurs or this method is called on a closed
PreparedStatement
public void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader
object. This method differs from the
setCharacterStream (int, Reader)
method because it informs the driver that the
parameter value should be sent to the server as a NCLOB
. When the
setCharacterStream
method is used, the driver may have to do extra work to determine
whether the parameter data should be sent to the server as a LONGNVARCHAR
or a
NCLOB
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setNClob
which takes a length parameter.
setNClob
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...reader
- An object that contains the data to set the parameter value to.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if the driver does not support national character sets; if the driver can detect
that a data conversion error could occur; if a database access error occurs or this method
is called on a closed PreparedStatement
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
object. The driver
converts this to an SQL XML
value when it sends it to the database. setSQLXML
in interface PreparedStatement
parameterIndex
- index of the first parameter is 1, the second is 2, ...xmlObject
- a SQLXML
object that maps an SQL XML
valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or the java.xml.transform.Result
, Writer
or OutputStream
has not been closed for the SQLXML
objectpublic void setObject(int parameterIndex, Object obj, int targetSqlType, int scaleOrLength) throws SQLException
java.lang
equivalent objects should be
used.
If the second argument is an InputStream
then the stream must contain the
number of bytes specified by scaleOrLength. If the second argument is a Reader
then the reader must contain the number of characters specified by scaleOrLength. If these
conditions are not true the driver will generate a SQLException
when the prepared
statement is executed.
The given Java object will be converted to the given targetSqlType before being sent to the database.
If the object has a custom mapping (is of a class implementing the interface SQLData
), the JDBC driver should call the method SQLData.writeSQL
to write it to
the SQL data stream. If, on the other hand, the object is of a class implementing Ref
, Blob
, Clob
, NClob
, Struct
,
java.net.URL
, or Array
, the driver should pass it to the database as a
value of the corresponding SQL type.
Note that this method may be used to pass database-specific abstract data types.
setObject
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...obj
- the object containing the input parameter valuetargetSqlType
- the SQL type (as defined in java.sql.Types) to be sent to the database.
The scale argument may further qualify this type.scaleOrLength
- for java.sql.Types.DECIMAL
or java.sql.Types.NUMERIC
types
, this is the number of digits after the decimal point. For
Java Object types InputStream
and Reader
, this is the length of
the data in the stream or reader. For all other types, this value will be ignored.SQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or if the Java Object specified by x is an InputStream or Reader
object and the value of the scale parameter is less than zeroTypes
public void setObject(int parameterIndex, Object obj, int targetSqlType) throws SQLException
setObject
above, except that it assumes a scale of zero.setObject
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...obj
- the object containing the input parameter valuetargetSqlType
- the SQL type (as defined in java.sql.Types) to be sent to the databaseSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
sTypes
public void setObject(int parameterIndex, Object obj) throws SQLException
Object
; therefore, the java.lang
equivalent objects should be
used for built-in types.
The JDBC specification specifies a standard mapping from Java Object
types to
SQL types. The given argument will be converted to the corresponding SQL type before being sent
to the database.
setObject
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...obj
- the object containing the input parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs; this method is called on a closed
PreparedStatement
or the type of the given object is ambiguouspublic void setObject(int parameterIndex, Object obj, SQLType targetSqlType, int scaleOrLength) throws SQLException
setObject
in interface PreparedStatement
SQLException
public void setObject(int parameterIndex, Object obj, SQLType targetSqlType) throws SQLException
setObject
in interface PreparedStatement
SQLException
public void setAsciiStream(int parameterIndex, InputStream stream, long length) throws SQLException
LONGVARCHAR
parameter, it
may be more practical to send it via a java.io.InputStream
. Data will be read from
the stream as needed until end-of-file is reached. 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.
setAsciiStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the Java input stream that contains the ASCII parameter valuelength
- the number of bytes in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setAsciiStream(int parameterIndex, InputStream stream) throws SQLException
LONGVARCHAR
parameter, it may be more practical to send it via a
java.io.InputStream
. Data will be read from the stream as needed until end-of-file is
reached. 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.
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setAsciiStream
which takes a length parameter.
setAsciiStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the Java input stream that contains the ASCII parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setAsciiStream(int parameterIndex, InputStream stream, int length) throws SQLException
LONGVARCHAR
parameter, it
may be more practical to send it via a java.io.InputStream
. Data will be read from
the stream as needed until end-of-file is reached. 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.
setAsciiStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the Java input stream that contains the ASCII parameter valuelength
- the number of bytes in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBinaryStream(int parameterIndex, InputStream stream, long length) throws SQLException
LONGVARBINARY
parameter, it
may be more practical to send it via a java.io.InputStream
object. The data will
be read from the stream as needed until end-of-file is reached.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
setBinaryStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the java input stream which contains the binary parameter valuelength
- the number of bytes in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBinaryStream(int parameterIndex, InputStream stream) throws SQLException
LONGVARBINARY
parameter, it may be more practical to send it via a
java.io.InputStream
object. The data will be read from the stream as needed until
end-of-file is reached.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
Note: Consult your JDBC driver documentation to determine if it might be more
efficient to use a version of setBinaryStream
which takes a length parameter.
setBinaryStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the java input stream which contains the binary parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBinaryStream(int parameterIndex, InputStream stream, int length) throws SQLException
LONGVARBINARY
parameter, it
may be more practical to send it via a java.io.InputStream
object. The data will
be read from the stream as needed until end-of-file is reached.
Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.
setBinaryStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...stream
- the java input stream which contains the binary parameter valuelength
- the number of bytes in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBoolean(int parameterIndex, boolean value) throws SQLException
boolean
value. The driver converts
this to an SQL BIT
or BOOLEAN
value when it sends it to the database.setBoolean
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setByte(int parameterIndex, byte bit) throws SQLException
byte
value. The driver converts
this to an SQL TINYINT
value when it sends it to the database.setByte
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...bit
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setShort(int parameterIndex, short value) throws SQLException
short
value. The driver converts
this to an SQL SMALLINT
value when it sends it to the database.setShort
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setString(int parameterIndex, String str) throws SQLException
setString
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...str
- StringSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBytes(int parameterIndex, byte[] bytes) throws SQLException
VARBINARY
or LONGVARBINARY
(depending on the argument's size
relative to the driver's limits on VARBINARY
values) when it sends it to the
database.setBytes
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...bytes
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARCHAR
parameter, it may be
more practical to send it via a java.io.InputStream
object. The data will be read
from the stream as needed until end-of-file is reached. 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.
setUnicodeStream
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...x
- a java.io.InputStream
object that contains the Unicode parameter valuelength
- the number of bytes in the streamSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setInt(int column, int value) throws SQLException
setInt
in interface PreparedStatement
SQLException
public void setLong(int parameterIndex, long value) throws SQLException
long
value. The driver converts
this to an SQL BIGINT
value when it sends it to the database.setLong
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setFloat(int parameterIndex, float value) throws SQLException
float
value. The driver converts
this to an SQL REAL
value when it sends it to the database.setFloat
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setDouble(int parameterIndex, double value) throws SQLException
double
value. The driver converts
this to an SQL DOUBLE
value when it sends it to the database.setDouble
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...value
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
public void setBigDecimal(int parameterIndex, BigDecimal bigDecimal) throws SQLException
java.math.BigDecimal
value. The driver
converts this to an SQL NUMERIC
value when it sends it to the database.setBigDecimal
in interface PreparedStatement
parameterIndex
- the first parameter is 1, the second is 2, ...bigDecimal
- the parameter valueSQLException
- if parameterIndex does not correspond to a parameter marker in the SQL
statement; if a database access error occurs or this method is called on a closed
PreparedStatement
Copyright © 2020 mariadb.com. All rights reserved.