public abstract class BasePrepareStatement extends MariaDbStatement implements PreparedStatement
Modifier and Type | Field and Description |
---|---|
protected int |
autoGeneratedKeys |
protected boolean |
hasLongData |
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) |
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.
|
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, 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, executeLargeUpdate, executeQuery, executeUpdate, getMetaData, setObject, setObject
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
protected int autoGeneratedKeys
protected boolean hasLongData
public BasePrepareStatement(MariaDbConnection connection, int resultSetScrollType, int resultSetConcurrency, int autoGeneratedKeys)
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
public BasePrepareStatement clone(MariaDbConnection connection) throws CloneNotSupportedException
clone
in class MariaDbStatement
connection
- connectionCloneNotSupportedException
- if cloning exceptionprotected 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
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 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
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 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.org. All rights reserved.