Интерфейс PreparedStatement
- Все суперинтерфейсы:
-
AutoCloseable,Statement,Wrapper
- Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement extends Statement
SQL-предложение предварительно компилируется и хранится в объекте PreparedStatement. Этот объект затем может быть использован для эффективного многократного выполнения этого предложения.
Примечание: Методы-сеттеры (setShort, setString и т.д.) для установки значений параметров IN должны указывать типы, совместимые с определённым SQL-типом входного параметра. Например, если параметр IN имеет SQL-тип INTEGER, то следует использовать метод setInt.
Если требуются произвольные преобразования типов параметров, следует использовать метод setObject с целевым SQL-типом.
В следующем примере установки параметра con представляет активное подключение:
BigDecimal sal = new BigDecimal("153833.00");
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, sal);
pstmt.setInt(2, 110592);
- С тех пор:
- 1.1
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
void |
addBatch() |
Добавляет набор параметров в пакет команд объекта PreparedStatement. |
void |
clearParameters() |
Очищает текущие значения параметров немедленно. |
boolean |
execute() |
Выполняет SQL-запрос в объекте PreparedStatement, который может быть любым видом SQL-запроса. |
default long |
executeLargeUpdate() |
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, не возвращающий данных, например, DDL-запрос. |
ResultSet |
executeQuery() |
Выполняет SQL-запрос в объекте PreparedStatement и возвращает объект ResultSet, сгенерированный запросом. |
int |
executeUpdate() |
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, не возвращающий данных, например, DDL-запрос. |
ResultSetMetaData |
getMetaData() |
Возвращает объект ResultSetMetaData, содержащий информацию о столбцах объекта ResultSet, которые будут возвращены при выполнении этого объекта PreparedStatement. |
ParameterMetaData |
getParameterMetaData() |
Возвращает количество, типы и свойства параметров объекта PreparedStatement. |
void |
setArray |
Устанавливает указанный параметр в заданный объект java.sql.Array. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBigDecimal |
Устанавливает указанный параметр в заданное значение java.math.BigDecimal. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBlob |
Устанавливает указанный параметр в объект InputStream. |
void |
setBlob |
Устанавливает указанный параметр в объект InputStream. |
void |
setBlob |
Устанавливает указанный параметр в заданный объект java.sql.Blob. |
void |
setBoolean |
Устанавливает указанный параметр в заданное значение Java boolean. |
void |
setByte |
Устанавливает указанный параметр в заданное значение Java byte. |
void |
setBytes |
Устанавливает указанный параметр в заданный массив байтов Java. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader, имеющий указанную длину в символах. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader, имеющий указанную длину в символах. |
void |
setClob |
Устанавливает указанный параметр в объект Reader. |
void |
setClob |
Устанавливает указанный параметр в объект Reader. |
void |
setClob |
Устанавливает указанный параметр в заданный объект java.sql.Clob. |
void |
setDate |
Устанавливает указанный параметр в заданное значение java.sql.Date, используя по умолчанию часовой пояс виртуальной машины, на которой запущено приложение. |
void |
setDate |
Устанавливает указанный параметр в заданное значение java.sql.Date, используя заданный объект Calendar. |
void |
setDouble |
Устанавливает указанный параметр в заданное значение Java double. |
void |
setFloat |
Устанавливает указанный параметр в заданное значение Java float. |
void |
setInt |
Устанавливает указанный параметр в заданное значение Java int. |
void |
setLong |
Устанавливает указанный параметр в заданное значение Java long. |
void |
setNCharacterStream |
Устанавливает указанный параметр в объект Reader. |
void |
setNCharacterStream |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект java.sql.NClob. |
void |
setNString |
Устанавливает указанный параметр в заданный объект String. |
void |
setNull |
Устанавливает указанный параметр в SQL-значение NULL. |
void |
setNull |
Устанавливает указанный параметр в SQL-значение NULL. |
void |
setObject |
Устанавливает значение указанного параметра, используя заданный объект. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
default void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
default void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setRef |
Устанавливает указанный параметр в заданное значение REF(<structured-type>). |
void |
setRowId |
Устанавливает указанный параметр в заданный объект java.sql.RowId. |
void |
setShort |
Устанавливает указанный параметр в заданное значение Java short. |
void |
setSQLXML |
Устанавливает указанный параметр в заданный объект java.sql.SQLXML. |
void |
setString |
Устанавливает указанный параметр в заданное значение Java String. |
void |
setTime |
Устанавливает указанный параметр в заданное значение java.sql.Time. |
void |
setTime |
Устанавливает указанный параметр в заданное значение java.sql.Time, используя заданный объект Calendar. |
void |
setTimestamp |
Устанавливает указанный параметр в заданное значение java.sql.Timestamp. |
void |
setTimestamp |
Устанавливает указанный параметр в заданное java.sql.Timestamp значение, используя указанный Calendar объект. |
void |
setUnicodeStream |
Устарело. |
void |
setURL |
Устанавливает указанный параметр в заданное java.net.URL значение. |
Методы, объявленные в интерфейсе java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, 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, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
Методы, объявленные в интерфейсе java.sql.Wrapper
isWrapperFor, unwrap
Краткое описание методов
executeQuery
ResultSet executeQuery() throws SQLException
PreparedStatement и возвращает объект ResultSet, созданный запросом.- Возвращает:
- объект
ResultSet, содержащий данные, полученные в результате запроса; никогда неnull - Исключения:
-
SQLException- если возникает ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatementили инструкция SQL не возвращает объектResultSet -
SQLTimeoutException- когда драйвер определил, что значение времени ожидания, указанное методомsetQueryTimeout, было превышено, и по крайней мере попытался отменить текущий запущенныйStatement
executeUpdate
int executeUpdate() throws SQLException
PreparedStatement, которая должна быть инструкцией SQL Data Manipulation Language (DML), например, INSERT, UPDATE или DELETE; или инструкция SQL, которая ничего не возвращает, например, инструкция DDL.- Возвращает:
- либо (1) количество строк для инструкций SQL Data Manipulation Language (DML), либо (2) 0 для инструкций SQL, которые ничего не возвращают
- Исключения:
-
SQLException- если возникает ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatementили инструкция SQL возвращает объектResultSet -
SQLTimeoutException- когда драйвер определил, что значение времени ожидания, указанное методомsetQueryTimeout, было превышено, и по крайней мере попытался отменить текущий запущенныйStatement
setNull
void setNull(int parameterIndex, int sqlType) throws SQLException
NULL. Примечание: Необходимо указать тип SQL параметра.
- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
sqlType- код типа SQL, определённый вjava.sql.Types - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- еслиsqlTypeявляется типом данныхARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXMLилиSTRUCT, и JDBC-драйвер не поддерживает этот тип данных
setBoolean
void setBoolean(int parameterIndex, boolean x) throws SQLException
boolean. Драйвер преобразует это в значение SQL BIT или BOOLEAN при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setByte
void setByte(int parameterIndex, byte x) throws SQLException
byte. Драйвер преобразует это в значение SQL TINYINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setShort
void setShort(int parameterIndex, short x) throws SQLException
short. Драйвер преобразует это в значение SQL SMALLINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setInt
void setInt(int parameterIndex, int x) throws SQLException
int. Драйвер преобразует это в значение SQL INTEGER при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setLong
void setLong(int parameterIndex, long x) throws SQLException
long. Драйвер преобразует это в значение SQL BIGINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setFloat
void setFloat(int parameterIndex, float x) throws SQLException
float. Драйвер преобразует это в значение SQL REAL при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setDouble
void setDouble(int parameterIndex, double x) throws SQLException
double. Драйвер преобразует это в значение SQL DOUBLE при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setBigDecimal
void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
java.math.BigDecimal. Драйвер преобразует это в значение SQL NUMERIC при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setString
void setString(int parameterIndex, String x) throws SQLException
String. Драйвер преобразует это в значение SQL VARCHAR или LONGVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения VARCHAR) при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setBytes
void setBytes(int parameterIndex, byte[] x) throws SQLException
VARBINARY или LONGVARBINARY (в зависимости от размера аргумента относительно ограничений драйвера на значения VARBINARY) при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setDate
void setDate(int parameterIndex, Date x) throws SQLException
java.sql.Date, используя по умолчанию часовой пояс виртуальной машины, на которой выполняется приложение. Драйвер преобразует это значение в SQL DATE при отправке в базу данных.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
setTime
void setTime(int parameterIndex, Time x) throws SQLException
java.sql.Time. Драйвер преобразует это значение в SQL TIME при отправке в базу данных.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp. Драйвер преобразует это значение в SQL TIMESTAMP при отправке в базу данных.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARCHAR, может быть практичнее отправить его через java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из ASCII в формат символов базы данных. Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- поток ввода Java, содержащий ASCII значение параметра -
length- количество байтов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
setUnicodeStream
@Deprecated(since="1.2") void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
setCharacterStream
LONGVARCHAR, может быть практичнее отправить его через java.io.InputStream объект. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из Unicode в формат символов базы данных. Формат байтов потока Unicode должен быть Java UTF-8, как определено в спецификации виртуальной машины Java. Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- объектjava.io.InputStream, содержащий значение параметра Unicode -
length- количество байтов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARBINARY, может быть практичнее отправить его через java.io.InputStream объект. Данные будут читаться из потока по мере необходимости до достижения конца файла. Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- поток ввода Java, содержащий двоичное значение параметра -
length- количество байтов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
clearParameters
void clearParameters() throws SQLException
В общем случае, значения параметров остаются в силе для повторного использования оператора. Установка значения параметра автоматически очищает его предыдущее значение. Однако в некоторых случаях полезно немедленно освободить ресурсы, используемые текущими значениями параметров; это можно сделать, вызвав метод clearParameters.
- Throws:
-
SQLException- если произошла ошибка доступа к базе данных или метод вызван для закрытогоPreparedStatement
setObject
void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength), за исключением того, что он предполагает масштаб нуль.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- объект, содержащий значение входного параметра -
targetSqlType- SQL тип (как определено в java.sql.Types), который будет отправлен в базу данных - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает указанный целевой тип targetSqlType - See Also:
setObject
void setObject(int parameterIndex, Object x) throws SQLException
Устанавливает значение указанного параметра, используя данный объект.
Спецификация JDBC определяет стандартное отображение типов Java Object в типы SQL. Переданный аргумент будет преобразован в соответствующий тип SQL перед отправкой в базу данных.
Обратите внимание, что этот метод может использоваться для передачи специфичных для базы данных абстрактных типов данных, используя тип Java, специфичный для драйвера. Если объект реализует интерфейс SQLData, JDBC драйвер должен вызвать метод SQLData.writeSQL для записи его в поток данных SQL. Если же объект реализует Ref, Blob, Clob, NClob, Struct, java.net.URL, RowId, SQLXML или Array, драйвер должен передать его в базу данных как значение соответствующего типа SQL.
Примечание: Не все базы данных позволяют отправлять нетипизированный Null на бэкенд. Для максимальной переносимости следует использовать метод setNull или setObject(int parameterIndex, Object x, int sqlType) вместо setObject(int parameterIndex, Object x).
Примечание: Этот метод генерирует исключение, если есть неоднозначность, например, если объект реализует более одного из перечисленных интерфейсов.
- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и так далее. -
x- объект, содержащий значение входного параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили тип данного объекта неоднозначен
execute
boolean execute() throws SQLException
PreparedStatement, который может быть любым типом SQL-запроса. Некоторые подготовленные запросы возвращают несколько результатов; метод execute обрабатывает эти сложные запросы, а также более простые, обрабатываемые методами executeQuery и executeUpdate. Метод execute возвращает boolean, чтобы указать форму первого результата. Вы должны вызвать либо метод getResultSet, либо getUpdateCount для получения результата; вы должны вызвать getMoreResults, чтобы перейти к любым последующим результатам.
- Возвращает:
-
true, если первый результат — объектResultSet;false, если первый результат — количество обновлений или результата нет - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных; этот метод вызывается на закрытом объектеPreparedStatementили в этот метод передается аргумент -
SQLTimeoutException— когда драйвер определил, что значение таймаута, заданное методомsetQueryTimeout, превышено, и по крайней мере попытался отменить текущее выполнениеStatement - См. также:
addBatch
void addBatch() throws SQLException
PreparedStatement.- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван на закрытом объектеPreparedStatement - С тех пор:
- 1.2
- См. также:
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
Reader, длина которого равна заданному числу символов. При вводе очень большого значения UNICODE в параметр LONGVARCHAR, может быть целесообразнее отправить его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из UNICODE в формат char базы данных. Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
reader— объектjava.io.Reader, содержащий данные Unicode -
length— количество символов в потоке - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement - С тех пор:
- 1.2
setRef
void setRef(int parameterIndex, Ref x) throws SQLException
REF(<structured-type>). Драйвер преобразует это в значение SQL REF при отправке в базу данных.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— значение SQLREF - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.2
setBlob
void setBlob(int parameterIndex, Blob x) throws SQLException
java.sql.Blob. Драйвер преобразует это в значение SQL BLOB при отправке в базу данных.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— объектBlob, отображающий значение SQLBLOB - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.2
setClob
void setClob(int parameterIndex, Clob x) throws SQLException
java.sql.Clob. Драйвер преобразует это в значение SQL CLOB при отправке в базу данных.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— объектClob, отображающий значение SQLCLOB - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.2
setArray
void setArray(int parameterIndex, Array x) throws SQLException
java.sql.Array. Драйвер преобразует это в значение SQL ARRAY при отправке в базу данных.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— объектArray, отображающий значение SQLARRAY - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.2
getMetaData
ResultSetMetaData getMetaData() throws SQLException
ResultSetMetaData, содержащий информацию о столбцах объекта ResultSet, который будет возвращен при выполнении этого объекта PreparedStatement. Поскольку объект PreparedStatement предварительно скомпилирован, можно узнать об объекте ResultSet, который он вернет, не выполняя его. Следовательно, можно вызвать метод getMetaData на объекте PreparedStatement, а не дожидаться его выполнения и затем вызвать метод ResultSet.getMetaData на возвращаемом объекте ResultSet.
ПРИМЕЧАНИЕ: Использование этого метода может быть дорогостоящим для некоторых драйверов из-за отсутствия поддержки в underlying DBMS.
- Возвращает:
- описание столбцов объекта
ResultSetилиnull, если драйвер не может вернуть объектResultSetMetaData - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.2
setDate
void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
java.sql.Date, используя заданный объект Calendar. Драйвер использует объект Calendar для создания значения SQL DATE, которое затем отправляется в базу данных. С объектом Calendar драйвер может вычислить дату с учетом пользовательской временной зоны. Если объект Calendar не указан, драйвер использует по умолчанию временную зону виртуальной машины, на которой выполняется приложение.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— значение параметра -
cal— объектCalendar, который драйвер будет использовать для создания даты - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement - С тех пор:
- 1.2
setTime
void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
java.sql.Time, используя заданный объект Calendar. Драйвер использует объект Calendar для создания значения SQL TIME, которое затем отправляется в базу данных. С объектом Calendar драйвер может вычислить время с учетом пользовательской временной зоны. Если объект Calendar не указан, драйвер использует по умолчанию временную зону виртуальной машины, на которой выполняется приложение.- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— значение параметра -
cal— объектCalendar, который драйвер будет использовать для создания времени - Выбрасывает:
-
SQLException— если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объектеPreparedStatement - С тех пор:
- 1.2
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
java.sql.Timestamp, используя заданный объект Calendar. Драйвер использует объект Calendar для построения значения SQL TIMESTAMP, которое затем отправляется драйвером в базу данных. С объектом Calendar драйвер может вычислить метку времени, учитывая пользовательскую часовую зону. Если объект Calendar не указан, драйвер использует по умолчанию часовую зону виртуальной машины, на которой выполняется приложение.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра -
cal- объектCalendar, который драйвер будет использовать для построения метки времени - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Since:
- 1.2
setNull
void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL. Этот вариант метода setNull следует использовать для параметров пользовательских типов и типов REF. Примеры пользовательских типов включают: STRUCT, DISTINCT, JAVA_OBJECT и именованные массивы типов. Примечание: Для обеспечения совместимости приложения должны указывать код SQL-типа и полное квалифицированное имя SQL-типа при указании параметра NULL пользовательского типа или типа REF. В случае пользовательского типа имя — это имя типа самого параметра. Для параметра REF имя — это имя типа связанного типа. Если драйвер JDBC не нуждается в коде типа или имени типа, он может его игнорировать. Хотя он предназначен для параметров пользовательского типа и REF, этот метод можно использовать для установки нулевого параметра любого типа JDBC. Если у параметра нет пользовательского или REF-типа, заданное имя типа игнорируется.
- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
sqlType- значение изjava.sql.Types -
typeName- полное квалифицированное имя SQL пользовательского типа; игнорируется, если параметр не является типом пользовательского типа или REF - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- еслиsqlTypeявляется типомARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXMLилиSTRUCT, и драйвер JDBC не поддерживает этот тип данных, или если драйвер JDBC не поддерживает этот метод - Since:
- 1.2
setURL
void setURL(int parameterIndex, URL x) throws SQLException
java.net.URL. Драйвер преобразует его в значение SQL DATALINK при отправке в базу данных.- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- объектjava.net.URL, который нужно установить - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.4
getParameterMetaData
ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement.- Returns:
- объект
ParameterMetaData, который содержит информацию о количестве, типах и свойствах для каждой метки параметра этого объектаPreparedStatement - Throws:
-
SQLException- если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Since:
- 1.4
- See Also:
setRowId
void setRowId(int parameterIndex, RowId x) throws SQLException
java.sql.RowId. Драйвер преобразует его в значение SQL ROWID при отправке в базу данных- Parameters:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.6
setNString
void setNString(int parameterIndex, String value) throws SQLException
String. Драйвер преобразует его в значение SQL NCHAR или NVARCHAR или LONGNVARCHAR (в зависимости от размера аргумента по отношению к ограничениям драйвера на значения NVARCHAR) при отправке в базу данных.- Parameters:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
value- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.6
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader. Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из формата Java-символов в национальный набор символов в базе данных.- Parameters:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
value- значение параметра -
length- количество символов в данных параметра. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.6
setNClob
void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob. Драйвер преобразует его в значение SQL NCLOB при отправке в базу данных.- Parameters:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
value- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.6
setClob
void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader. Поток чтения должен содержать количество символов, указанное в параметре length, иначе при выполнении запроса PreparedStatement будет генерироваться исключение SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что он информирует драйвер, что значение параметра должно быть отправлено на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительные действия, чтобы определить, следует ли отправлять данные параметра на сервер как LONGVARCHAR или как CLOB
- Parameters:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
reader- объект, содержащий данные для установки значения параметра. -
length- количество символов в данных параметра. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили если указанная длина меньше нуля. -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - Since:
- 1.6
setBlob
void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException
InputStream. Объект Inputstream должен содержать количество символов, указанное значением length, иначе при выполнении PreparedStatement будет сгенерировано исключение SQLException. Этот метод отличается от метода setBinaryStream (int, InputStream, int) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер в виде BLOB. Когда используется метод setBinaryStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер в виде LONGVARBINARY или BLOB.
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
inputStream- объект, содержащий данные для установки значения параметра. -
length- количество байтов в данных параметра. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatement; если указанная длина меньше нуля или количество байтов вInputStreamне соответствует указанной длине. -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - Since:
- 1.6
setNClob
void setNClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader. Объект reader должен содержать количество символов, указанное значением length, иначе при выполнении PreparedStatement будет сгенерировано исключение SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер в виде NCLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер в виде LONGNVARCHAR или NCLOB
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
reader- объект, содержащий данные для установки значения параметра. -
length- количество символов в данных параметра. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если указанная длина меньше нуля; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - Since:
- 1.6
setSQLXML
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML. Драйвер преобразует его в значение SQL XML при отправке в базу данных.- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
xmlObject- объектSQLXML, который отображает значение SQLXML - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementилиjava.xml.transform.Result,WriterилиOutputStreamне были закрыты для объектаSQLXML -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - Since:
- 1.6
setObject
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException
Устанавливает значение указанного параметра с помощью данного объекта. Если второй аргумент - объект InputStream, то поток должен содержать количество байтов, указанное значением scaleOrLength. Если второй аргумент - объект Reader, то поток должен содержать количество символов, указанное значением scaleOrLength. Если эти условия не выполняются, драйвер сгенерирует исключение SQLException при выполнении подготовленного запроса.
Указанный Java-объект будет преобразован в указанный targetSqlType перед отправкой в базу данных. Если у объекта есть пользовательское отображение (он принадлежит классу, реализующему интерфейс SQLData), JDBC-драйвер должен вызвать метод SQLData.writeSQL, чтобы записать его в поток данных SQL. Если, с другой стороны, объект принадлежит классу, реализующему Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных в качестве значения соответствующего SQL-типа.
Обратите внимание, что этот метод может использоваться для передачи абстрактных типов данных, специфичных для базы данных.
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
x- объект, содержащий значение входного параметра. -
targetSqlType- тип SQL (определен в java.sql.Types), который должен быть отправлен в базу данных. Аргумент scale может дополнительно уточнить этот тип. -
scaleOrLength- дляjava.sql.Types.DECIMALилиjava.sql.Types.NUMERIC typesэто количество цифр после запятой. Для типов Java ObjectInputStreamиReaderэто длина данных в потоке или потоке чтения. Для всех других типов это значение будет проигнорировано. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили если Java-объект, указанный в x, является объектом InputStream или Reader, а значение параметра scale меньше нуля. -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает указанный targetSqlType - See Also:
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARCHAR может быть удобнее передать его через java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит необходимое преобразование из ASCII в формат символов базы данных. Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
x- поток ввода Java, содержащий ASCII-значение параметра. -
length- количество байтов в потоке. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Since:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARBINARY может быть удобнее передать его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
x- поток ввода Java, содержащий двоичное значение параметра. -
length- количество байтов в потоке. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Since:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException
Reader, имеющий заданное количество символов. При вводе очень большого UNICODE-значения в параметр типа LONGVARCHAR может быть удобнее передать его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит необходимое преобразование из UNICODE в формат символов базы данных. Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.
- Parameters:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
reader- объектjava.io.Reader, содержащий данные Unicode. -
length- количество символов в потоке. - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Since:
- 1.6
УстановитьПотокASCII
void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
LONGVARCHAR, может быть более практичным отправить его через объект java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из ASCII в формат символов базы данных. Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setAsciiStream, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- первый параметр имеет индекс 1, второй - 2 и т.д. -
x- поток ввода Java, содержащий значение параметра ASCII - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьПотокБинарныхДанных
void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
LONGVARBINARY, может быть более практичным отправить его через объект java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setBinaryStream, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- первый параметр имеет индекс 1, второй - 2 и т.д. -
x- поток ввода Java, содержащий значение двоичного параметра - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьПотокСимволов
void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
Reader. Когда очень большое значение UNICODE вводится в параметр LONGVARCHAR, может быть более практичным отправить его через объект java.io.Reader. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из UNICODE в формат символов базы данных. Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setCharacterStream, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
reader- объект потокаjava.io.Reader, содержащий данные Unicode - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьПотокСимволовНациональногоНабора
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Reader. Поток Reader считывает данные до конца файла. Драйвер выполняет необходимую конвертацию из формата символов Java в национальный набор символов базы данных. Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setNCharacterStream, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
value- значение параметра - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьОбъектCLOB
void setClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как CLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGVARCHAR или CLOB. Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setClob, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
reader- объект, содержащий данные для установки значения параметра. - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод был вызван на закрытомPreparedStatementили если параметр index не соответствует марке параметра в SQL-запросе -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьОбъектBLOB
void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream. Этот метод отличается от метода setBinaryStream (int, InputStream) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как BLOB. Когда используется метод setBinaryStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGVARBINARY или BLOB. Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setBlob, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
inputStream- объект, содержащий данные для установки значения параметра. - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод был вызван на закрытомPreparedStatementили если параметр index не соответствует марке параметра в SQL-запросе -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
УстановитьОбъектNCLOB
void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как NCLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGNVARCHAR или NCLOB. Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setNClob, принимающей параметр длины, быть более эффективным.
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2 и т.д. -
reader- объект, содержащий данные для установки значения параметра. - Исключения:
-
SQLException- если параметр index не соответствует марке параметра в SQL-запросе; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException
Устанавливает значение указанного параметра с помощью данного объекта. Если второй аргумент является InputStream, то поток должен содержать количество байтов, указанное параметром scaleOrLength. Если второй аргумент является Reader, то читатель должен содержать количество символов, указанное параметром scaleOrLength. Если эти условия не выполняются, драйвер базы данных сгенерирует SQLException при выполнении подготовленного оператора.
Указанный Java-объект будет преобразован в указанный targetSqlType перед отправкой в базу данных. Если у объекта есть пользовательское отображение (он является экземпляром класса, реализующего интерфейс SQLData), драйвер JDBC должен вызвать метод SQLData.writeSQL для записи его в поток данных SQL. Если же объект является экземпляром класса, реализующего интерфейсы Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных как значение соответствующего типа SQL.
Обратите внимание, что этот метод может быть использован для передачи абстрактных типов данных, специфичных для базы данных.
Реализация по умолчанию будет выбрасывать SQLFeatureNotSupportedException
- Parameters:
-
parameterIndex— первый параметр равен 1, второй равен 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных. Аргумент scale может дополнительно квалифицировать этот тип. -
scaleOrLength— дляjava.sql.JDBCType.DECIMALилиjava.sql.JDBCType.NUMERIC typesэто число цифр после десятичной точки. Для типов Java-объектовInputStreamиReaderэто длина данных в потоке или читателе. Для всех других типов это значение будет проигнорировано. - Throws:
-
SQLException— если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatement, или если Java-объект, указанный x, является объектом InputStream или Reader, и значение параметра scale меньше нуля -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Since:
- 1.8
- See Also:
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength), за исключением того, что он предполагает масштаб ноль. Реализация по умолчанию будет выбрасывать SQLFeatureNotSupportedException
- Parameters:
-
parameterIndex— первый параметр равен 1, второй равен 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных - Throws:
-
SQLException— если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Since:
- 1.8
- See Also:
executeLargeUpdate
default long executeLargeUpdate() throws SQLException
PreparedStatement, который должен быть оператором языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или оператором SQL, который ничего не возвращает, например, оператором DDL. Этот метод следует использовать, когда возвращаемое количество строк может превысить Integer.MAX_VALUE.
Реализация по умолчанию будет выбрасывать UnsupportedOperationException
- Returns:
- либо (1) количество строк для операторов языка манипулирования данными (DML), либо (2) 0 для операторов SQL, которые ничего не возвращают
- Throws:
-
SQLException— если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили оператор SQL возвращает объектResultSet -
SQLTimeoutException— когда драйвер определил, что истек заданный параметромsetQueryTimeoutтаймаут и по крайней мере попытался отменить текущее выполняемоеStatement - Since:
- 1.8
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql/java/sql/PreparedStatement.html
setCharacterStream