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]'.
|
canUseServerTimeout, closed, connection, 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)
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 mysqlType)
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. |
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.
|
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, 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, getServerThreadId, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, 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) throws SQLException
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
SQLException
- if cannot retrieve auto increment valuepublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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.SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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,SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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.SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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 statementSQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if sqlType
is a ARRAY
, BLOB
,
CLOB
, DATALINK
, JAVA_OBJECT
,
NCHAR
, NCLOB
, NVARCHAR
,
LONGNVARCHAR
, REF
, ROWID
,
SQLXML
or STRUCT
data type and the JDBC driver does not
support this data typepublic void setNull(int parameterIndex, ColumnType mysqlType) throws SQLException
NULL
.
Note: You must specify the parameter's SQL type.
parameterIndex
- the first parameter is 1, the second is 2, ...mysqlType
- 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
SQLFeatureNotSupportedException
- if sqlType
is a ARRAY
, BLOB
,
CLOB
, DATALINK
, JAVA_OBJECT
,
NCHAR
, NCLOB
, NVARCHAR
,
LONGNVARCHAR
, REF
, ROWID
,
SQLXML
or STRUCT
data type and the JDBC driver does not
support this data typepublic 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
SQLFeatureNotSupportedException
- if sqlType
is a ARRAY
, BLOB
,
CLOB
, DATALINK
, JAVA_OBJECT
,
NCHAR
, NCLOB
, NVARCHAR
,
LONGNVARCHAR
, REF
, ROWID
,
SQLXML
or STRUCT
data type and the JDBC driver does not
support this data type or if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
objectSQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic void setObject(int parameterIndex, Object obj, int targetSqlType, int scaleOrLength) throws SQLException
Sets the value of the designated parameter with the given object. The second argument must be an object type;
for integral values, the 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
zeroSQLFeatureNotSupportedException
- if targetSqlType
is a ARRAY
, BLOB
,
CLOB
, DATALINK
, JAVA_OBJECT
,
NCHAR
, NCLOB
, NVARCHAR
,
LONGNVARCHAR
, REF
, ROWID
,
SQLXML
or STRUCT
data type and the JDBC driver does not
support this data typeTypes
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
sSQLFeatureNotSupportedException
- if targetSqlType
is a ARRAY
, BLOB
,
CLOB
, DATALINK
, JAVA_OBJECT
,
NCHAR
, NCLOB
, NVARCHAR
,
LONGNVARCHAR
, REF
, ROWID
,
SQLXML
or STRUCT
data type and the JDBC driver does not
support this data typeTypes
public void setObject(int parameterIndex, Object obj) throws SQLException
Sets the value of the designated parameter using the given object. The second parameter must be of type
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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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
SQLFeatureNotSupportedException
- if the JDBC driver does not support this methodpublic 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 © 2018 mariadb.org. All rights reserved.