Интерфейс PreparedStatement
- Все суперинтерфейсы:
AutoCloseable, Statement, Wrapper
- Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement extends Statement
Инструкция SQL предварительно компилируется и сохраняется в объекте PreparedStatement. Затем этот объект можно использовать для эффективного многократного выполнения этой инструкции.
Примечание: Методы-сеттеры (setShort, setString и т. д.) для установки значений входных параметров должны задавать типы, совместимые с определённым типом SQL входного параметра. Например, если входной параметр имеет тип 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
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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. |
Методы, объявленные в интерфейсе 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
Методы, объявленные в интерфейсе 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-инструкцией языка манипулирования данными (DML), например INSERT, UPDATE или DELETE; либо SQL-инструкцией, которая ничего не возвращает, например инструкцией DDL.- Возвращает:
- либо (1) количество строк для SQL-инструкций языка манипулирования данными (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.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— значение параметра - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
setTime
void setTime(int parameterIndex, Time x) throws SQLException
java.sql.Time. При отправке в базу данных драйвер преобразует его в значение SQL TIME.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— значение параметра - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp. При отправке в базу данных драйвер преобразует его в значение SQL TIMESTAMP.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— значение параметра - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARCHAR вводится очень большое значение ASCII, может быть удобнее передать его через java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из ASCII в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— входной поток Java, содержащий значение параметра ASCII -
length— количество байтов в потоке - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
setUnicodeStream
@Deprecated(since="1.2") void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
setCharacterStream
LONGVARCHAR вводится очень большое значение Unicode, может быть удобнее передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из Unicode в символьный формат базы данных. Формат байтов потока Unicode должен соответствовать Java UTF-8, определённому в спецификации виртуальной машины Java. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— объектjava.io.InputStream, содержащий значение параметра Unicode -
length— количество байтов в потоке - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARBINARY вводится очень большое двоичное значение, может быть удобнее передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— входной поток Java, содержащий двоичное значение параметра -
length— количество байтов в потоке - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
clearParameters
void clearParameters() throws SQLException
Как правило, значения параметров сохраняются при повторном использовании инструкции. При установке значения параметра его предыдущее значение автоматически очищается. Однако в некоторых случаях полезно немедленно освободить ресурсы, используемые текущими значениями параметров; для этого можно вызвать метод clearParameters.
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого объектаPreparedStatement
setObject
void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength), за исключением того, что предполагает масштаб, равный нулю.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— объект, содержащий входное значение параметра -
targetSqlType— тип SQL (определённый в java.sql.Types), передаваемый в базу данных - Выбрасывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-инструкции; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - См. также:
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. Для максимальной переносимости вместо setObject(int parameterIndex, Object x) следует использовать метод setNull или setObject(int parameterIndex, Object x, int sqlType).
Примечание: Этот метод выбрасывает исключение при неоднозначности, например если объект принадлежит классу, реализующему более одного из перечисленных выше интерфейсов.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2, ... -
x— объект, содержащий входное значение параметра - Выбрасывает:
-
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 длиной в указанное количество символов. Если в параметр LONGVARCHAR вводится очень большое значение UNICODE, может быть удобнее передать его через объект java.io.Reader. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из UNICODE в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока 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.
ПРИМЕЧАНИЕ: Использование этого метода может быть затратным для некоторых драйверов из-за отсутствия поддержки со стороны базовой СУБД.
- Возвращает:
- описание столбцов объекта
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 не указан, драйвер использует часовой пояс по умолчанию — часовой пояс виртуальной машины, в которой выполняется приложение.- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- значение параметра -
cal- объектCalendar, который драйвер будет использовать для создания временной метки - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - С версии:
- 1.2
setNull
void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL. Эта версия метода setNull должна использоваться для параметров пользовательских типов и типа REF. Примеры пользовательских типов: STRUCT, DISTINCT, JAVA_OBJECT и именованные типы массивов. Примечание: Для обеспечения переносимости при указании NULL для параметра пользовательского типа или типа REF приложения должны передавать код типа SQL и полное имя типа SQL. Для пользовательского типа указывается имя типа самого параметра. Для параметра REF указывается имя типа, на который он ссылается. Если драйвер JDBC не нуждается в информации о коде или имени типа, он может ее игнорировать. Хотя этот метод предназначен для параметров пользовательских типов и REF, его можно использовать для установки null-параметра любого типа JDBC. Если параметр не имеет пользовательского типа или типа REF, указанное значение typeName игнорируется.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
sqlType- значение изjava.sql.Types -
typeName- полное имя пользовательского типа SQL; игнорируется, если параметр не является пользовательским типом или типом REF - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- еслиsqlTypeимеет тип данныхARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXMLилиSTRUCT, а драйвер JDBC не поддерживает этот тип данных, либо если драйвер JDBC не поддерживает этот метод - С версии:
- 1.2
setURL
void setURL(int parameterIndex, URL x) throws SQLException
java.net.URL. При отправке значения в базу данных драйвер преобразует его в значение SQL DATALINK.- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- объектjava.net.URL, который необходимо установить - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.4
getParameterMetaData
ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement.- Возвращает:
- объект
ParameterMetaData, содержащий сведения о количестве, типах и свойствах каждого маркера параметра этого объектаPreparedStatement - Исключения:
-
SQLException- если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - С версии:
- 1.4
- См. также:
setRowId
void setRowId(int parameterIndex, RowId x) throws SQLException
java.sql.RowId. При отправке значения в базу данных драйвер преобразует его в значение SQL ROWID.- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNString
void setNString(int parameterIndex, String value) throws SQLException
String. При отправке значения в базу данных драйвер преобразует его в значение SQL NCHAR, NVARCHAR или LONGNVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения NVARCHAR).- Параметры:
-
parameterIndex- номер первого параметра — 1, второго — 2 и т. д. -
value- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможна ошибка преобразования данных; если возникает ошибка доступа к базе данных; или если этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader. Объект Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из символьного формата Java в национальный набор символов базы данных.- Параметры:
-
parameterIndex- номер первого параметра — 1, второго — 2 и т. д. -
value- значение параметра -
length- количество символов в данных параметра. - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможна ошибка преобразования данных; если возникает ошибка доступа к базе данных; или если этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNClob
void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob. При отправке значения в базу данных драйвер преобразует его в значение SQL NCLOB.- Параметры:
-
parameterIndex- номер первого параметра — 1, второго — 2 и т. д. -
value- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможна ошибка преобразования данных; если возникает ошибка доступа к базе данных; или если этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setClob
void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader. Объект reader должен содержать указанное в length количество символов, иначе при выполнении PreparedStatement будет сгенерирован SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что сообщает драйверу: значение параметра следует отправить на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправить данные параметра на сервер как LONGVARCHAR или CLOB
- Параметры:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
reader- объект, содержащий данные для установки значения параметра. -
length- количество символов в данных параметра. - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили если указанная длина меньше нуля. -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 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
- Параметры:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
inputStream- объект, содержащий данные для установки значения параметра. -
length- количество байтов в данных параметра. - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatement; если указанная длина меньше нуля или количество байтов вInputStreamне соответствует указанной длине. -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 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
- Параметры:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
reader- объект, содержащий данные для установки значения параметра. -
length- количество символов в данных параметра. - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если указанная длина меньше нуля; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможна ошибка преобразования данных; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setSQLXML
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML. При отправке значения в базу данных драйвер преобразует его в значение SQL XML.- Параметры:
-
parameterIndex- индекс первого параметра — 1, второго — 2 и т. д. -
xmlObject- объектSQLXML, представляющий значение SQLXML - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили объектjava.xml.transform.Result,WriterилиOutputStreamне был закрыт для объектаSQLXML -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setObject
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException
Устанавливает значение указанного параметра с помощью заданного объекта. Если второй аргумент — InputStream, поток должен содержать указанное в scaleOrLength количество байтов. Если второй аргумент — Reader, объект reader должен содержать указанное в scaleOrLength количество символов. Если эти условия не выполняются, при выполнении подготовленной инструкции драйвер сгенерирует SQLException.
Перед отправкой в базу данных заданный объект Java будет преобразован в указанный targetSqlType. Если для объекта задано пользовательское сопоставление (он принадлежит классу, реализующему интерфейс SQLData), драйвер JDBC должен вызвать метод SQLData.writeSQL для записи объекта в поток данных SQL. Если же объект принадлежит классу, реализующему Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных как значение соответствующего типа SQL.
Обратите внимание, что этот метод можно использовать для передачи абстрактных типов данных, специфичных для базы данных.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- объект, содержащий значение входного параметра -
targetSqlType- тип SQL (определенный в java.sql.Types), передаваемый в базу данных. Аргумент scale может дополнительно уточнять этот тип. -
scaleOrLength- дляjava.sql.Types.DECIMALилиjava.sql.Types.NUMERIC types— количество цифр после десятичной точки. Для типов объектов JavaInputStreamиReader— длина данных в потоке или объекте reader. Для всех остальных типов это значение игнорируется. - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили если указанный объект Java x является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает указанный targetSqlType - См. также:
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARCHAR передается очень большое значение ASCII, практичнее может быть передать его через java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимое преобразование из ASCII в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- входной поток Java, содержащий значение параметра ASCII -
length- количество байтов в потоке - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - С версии:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARBINARY передается очень большое двоичное значение, практичнее может быть передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- входной поток Java, содержащий двоичное значение параметра -
length- количество байтов в потоке - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - С версии:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException
Reader указанной длины в символах. Если в параметр LONGVARCHAR передается очень большое значение UNICODE, практичнее может быть передать его через объект java.io.Reader. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимое преобразование из UNICODE в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
reader- объектjava.io.Reader, содержащий данные Unicode -
length- количество символов в потоке - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - С версии:
- 1.6
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
LONGVARCHAR передается очень большое значение ASCII, практичнее может быть передать его через java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимое преобразование из ASCII в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, может ли быть эффективнее использовать версию setAsciiStream, принимающую параметр длины.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- входной поток Java, содержащий значение параметра ASCII - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
LONGVARBINARY передается очень большое двоичное значение, практичнее может быть передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, может ли быть эффективнее использовать версию setBinaryStream, принимающую параметр длины.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
x- входной поток Java, содержащий двоичное значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
Reader. Если в параметр LONGVARCHAR передается очень большое значение UNICODE, практичнее может быть передать его через объект java.io.Reader. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимое преобразование из UNICODE в символьный формат базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, может ли быть эффективнее использовать версию setCharacterStream, принимающую параметр длины.
- Параметры:
-
parameterIndex- первый параметр имеет номер 1, второй — 2 и т. д. -
reader- объектjava.io.Reader, содержащий данные Unicode - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Reader. Объект Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из символьного формата Java в национальный набор символов базы данных. Примечание: Этот объект потока может быть как стандартным объектом потока Java, так и вашим собственным подклассом, реализующим стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, может ли быть эффективнее использовать версию setNCharacterStream, принимающую параметр длины.
- Параметры:
-
parameterIndex- номер первого параметра — 1, второго — 2 и т. д. -
value- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможна ошибка преобразования данных; если возникает ошибка доступа к базе данных; или если этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setClob
void setClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу: значение параметра следует отправить на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправить данные параметра на сервер как LONGVARCHAR или CLOB Примечание: Ознакомьтесь с документацией драйвера JDBC, чтобы определить, может ли быть эффективнее использовать вариант setClob, принимающий параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые будут присвоены значению параметра. - Вызывает исключение:
-
SQLException— если parameterIndex не соответствует маркеру параметра в операторе SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили если parameterIndex не соответствует маркеру параметра в операторе SQL -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.6
setBlob
void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream. Этот метод отличается от метода setBinaryStream (int, InputStream) тем, что сообщает драйверу: значение параметра следует отправить на сервер как BLOB. При использовании метода setBinaryStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправить данные параметра на сервер как LONGVARBINARY или BLOB Примечание: Ознакомьтесь с документацией драйвера JDBC, чтобы определить, может ли быть эффективнее использовать вариант setBlob, принимающий параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
inputStream— объект, содержащий данные, которые будут присвоены значению параметра. - Вызывает исключение:
-
SQLException— если parameterIndex не соответствует маркеру параметра в операторе SQL; если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили если parameterIndex не соответствует маркеру параметра в операторе SQL, -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.6
setNClob
void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу: значение параметра следует отправить на сервер как NCLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправить данные параметра на сервер как LONGNVARCHAR или NCLOB Примечание: Ознакомьтесь с документацией драйвера JDBC, чтобы определить, может ли быть эффективнее использовать вариант setNClob, принимающий параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые будут присвоены значению параметра. - Вызывает исключение:
-
SQLException— если parameterIndex не соответствует маркеру параметра в операторе 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
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных. Аргумент scale может дополнительно уточнять этот тип. -
scaleOrLength— дляjava.sql.JDBCType.DECIMALилиjava.sql.JDBCType.NUMERIC typesэто количество цифр после десятичной точки. Для типов Java ObjectInputStreamиReaderэто длина данных в потоке или средстве чтения. Для всех остальных типов это значение игнорируется. - Вызывает исключение:
-
SQLException— если parameterIndex не соответствует маркеру параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement, либо если указанный объект Java x является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Начиная с версии:
- 1.8
- См. также:
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength), но предполагает, что scale равен нулю. Реализация по умолчанию вызовет SQLFeatureNotSupportedException
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных - Вызывает исключение:
-
SQLException— если parameterIndex не соответствует маркеру параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Начиная с версии:
- 1.8
- См. также:
executeLargeUpdate
default long executeLargeUpdate() throws SQLException
PreparedStatement, который должен быть оператором языка манипулирования данными SQL (DML), например INSERT, UPDATE или DELETE, либо оператором SQL, не возвращающим результат, например оператором DDL. Этот метод следует использовать, если количество возвращаемых строк может превышать Integer.MAX_VALUE.
Реализация по умолчанию вызовет UnsupportedOperationException
- Возвращает:
- либо (1) количество строк для операторов языка манипулирования данными SQL (DML), либо (2) 0 для операторов SQL, не возвращающих результат
- Вызывает исключение:
-
SQLException— если возникает ошибка доступа к базе данных; если этот метод вызывается для закрытогоPreparedStatementили оператор SQL возвращает объектResultSet -
SQLTimeoutException— если драйвер определил, что превышено значение тайм-аута, заданное методомsetQueryTimeout, и предпринял как минимум попытку отменить выполняющийся в данный моментStatement - Начиная с версии:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/PreparedStatement.html
setCharacterStream