Spec-Zone.ru › OpenJDK 27

Интерфейс PreparedStatement

Все суперинтерфейсы:
AutoCloseable, Statement, Wrapper
Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement extends Statement
Объект, представляющий предварительно скомпилированный оператор SQL.

Оператор 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
См. также:
  • Connection.prepareStatement(String)
  • ResultSet

Краткое описание полей

Поля, объявленные в интерфейсе Statement

CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Модификатор и тип Поле Описание
static final int CLOSE_ALL_RESULTS
Константа, указывающая, что все ранее оставленные открытыми объекты ResultSet должны быть закрыты при вызове getMoreResults.
static final int CLOSE_CURRENT_RESULT
Константа, указывающая, что текущий объект ResultSet должен быть закрыт при вызове getMoreResults.
static final int EXECUTE_FAILED
Константа, указывающая, что при выполнении пакетного оператора произошла ошибка.
static final int KEEP_CURRENT_RESULT
Константа, указывающая, что текущий объект ResultSet не должен закрываться при вызове getMoreResults.
static final int NO_GENERATED_KEYS
Константа, указывающая, что сгенерированные ключи не должны быть доступны для извлечения.
static final int RETURN_GENERATED_KEYS
Константа, указывающая, что сгенерированные ключи должны быть доступны для извлечения.
static final int 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(int parameterIndex, Array x)
Устанавливает для указанного параметра заданное значение объекта java.sql.Array.
void setAsciiStream(int parameterIndex, InputStream x)
Устанавливает для указанного параметра заданный входной поток.
void setAsciiStream(int parameterIndex, InputStream x, int length)
Устанавливает для указанного параметра заданный входной поток указанного размера в байтах.
void setAsciiStream(int parameterIndex, InputStream x, long length)
Устанавливает для указанного параметра заданный входной поток указанного размера в байтах.
void setBigDecimal(int parameterIndex, BigDecimal x)
Устанавливает для указанного параметра заданное значение java.math.BigDecimal.
void setBinaryStream(int parameterIndex, InputStream x)
Устанавливает для указанного параметра заданный входной поток.
void setBinaryStream(int parameterIndex, InputStream x, int length)
Устанавливает для указанного параметра заданный входной поток указанного размера в байтах.
void setBinaryStream(int parameterIndex, InputStream x, long length)
Устанавливает для указанного параметра заданный входной поток указанного размера в байтах.
void setBlob(int parameterIndex, InputStream inputStream)
Устанавливает для указанного параметра объект InputStream.
void setBlob(int parameterIndex, InputStream inputStream, long length)
Устанавливает для указанного параметра объект InputStream.
void setBlob(int parameterIndex, Blob x)
Устанавливает для указанного параметра заданное значение объекта java.sql.Blob.
void setBoolean(int parameterIndex, boolean x)
Устанавливает для указанного параметра заданное значение Java boolean.
void setByte(int parameterIndex, byte x)
Устанавливает для указанного параметра заданное значение Java byte.
void setBytes(int parameterIndex, byte[] x)
Устанавливает для указанного параметра заданный массив байтов Java.
void setCharacterStream(int parameterIndex, Reader reader)
Устанавливает для указанного параметра заданное значение объекта Reader.
void setCharacterStream(int parameterIndex, Reader reader, int length)
Устанавливает для указанного параметра заданное значение объекта Reader указанной длины в символах.
void setCharacterStream(int parameterIndex, Reader reader, long length)
Устанавливает для указанного параметра заданное значение объекта Reader указанной длины в символах.
void setClob(int parameterIndex, Reader reader)
Устанавливает для указанного параметра объект Reader.
void setClob(int parameterIndex, Reader reader, long length)
Устанавливает для указанного параметра объект Reader.
void setClob(int parameterIndex, Clob x)
Устанавливает для указанного параметра заданное значение объекта java.sql.Clob.
void setDate(int parameterIndex, Date x)
Устанавливает для указанного параметра заданное значение java.sql.Date, используя часовой пояс по умолчанию виртуальной машины, на которой выполняется приложение.
void setDate(int parameterIndex, Date x, Calendar cal)
Устанавливает для указанного параметра заданное значение java.sql.Date с использованием заданного объекта Calendar.
void setDouble(int parameterIndex, double x)
Устанавливает для указанного параметра заданное значение Java double.
void setFloat(int parameterIndex, float x)
Устанавливает для указанного параметра заданное значение Java float.
void setInt(int parameterIndex, int x)
Устанавливает для указанного параметра заданное значение Java int.
void setLong(int parameterIndex, long x)
Устанавливает для указанного параметра заданное значение Java long.
void setNCharacterStream(int parameterIndex, Reader value)
Устанавливает для указанного параметра объект Reader.
void setNCharacterStream(int parameterIndex, Reader value, long length)
Устанавливает для указанного параметра объект Reader.
void setNClob(int parameterIndex, Reader reader)
Устанавливает для указанного параметра объект Reader.
void setNClob(int parameterIndex, Reader reader, long length)
Устанавливает для указанного параметра объект Reader.
void setNClob(int parameterIndex, NClob value)
Устанавливает для указанного параметра объект java.sql.NClob.
void setNString(int parameterIndex, String value)
Устанавливает для указанного параметра заданное значение объекта String.
void setNull(int parameterIndex, int sqlType)
Устанавливает для указанного параметра значение SQL NULL.
void setNull(int parameterIndex, int sqlType, String typeName)
Устанавливает для указанного параметра значение SQL NULL.
void setObject(int parameterIndex, Object x)
Устанавливает значение указанного параметра с помощью заданного объекта.
void setObject(int parameterIndex, Object x, int targetSqlType)
Устанавливает значение указанного параметра с заданным объектом.
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
Устанавливает значение указанного параметра с заданным объектом.
default void setObject(int parameterIndex, Object x, SQLType targetSqlType)
Устанавливает значение указанного параметра с заданным объектом.
default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
Устанавливает значение указанного параметра с заданным объектом.
void setRef(int parameterIndex, Ref x)
Устанавливает для указанного параметра заданное значение REF(<structured-type>).
void setRowId(int parameterIndex, RowId x)
Устанавливает для указанного параметра заданное значение объекта java.sql.RowId.
void setShort(int parameterIndex, short x)
Устанавливает для указанного параметра заданное значение Java short.
void setSQLXML(int parameterIndex, SQLXML xmlObject)
Устанавливает для указанного параметра заданное значение объекта java.sql.SQLXML.
void setString(int parameterIndex, String x)
Устанавливает для указанного параметра заданное значение Java String.
void setTime(int parameterIndex, Time x)
Устанавливает для указанного параметра заданное значение java.sql.Time.
void setTime(int parameterIndex, Time x, Calendar cal)
Устанавливает для указанного параметра заданное значение java.sql.Time с использованием заданного объекта Calendar.
void setTimestamp(int parameterIndex, Timestamp x)
Устанавливает для указанного параметра заданное значение java.sql.Timestamp.
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
Устанавливает для указанного параметра заданное значение java.sql.Timestamp с использованием заданного объекта Calendar.
void setUnicodeStream(int parameterIndex, InputStream x, int length)
Устарел.
Используйте setCharacterStream
void setURL(int parameterIndex, URL x)
Устанавливает для указанного параметра заданное значение 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
Модификатор и тип Метод Описание
void addBatch(String sql)
Добавляет заданную команду SQL в текущий список команд объекта Statement.
void cancel()
Отменяет объект Statement, если СУБД и драйвер поддерживают прерывание выполнения оператора SQL.
void clearBatch()
Очищает текущий список команд SQL объекта Statement.
void clearWarnings()
Очищает все предупреждения, зарегистрированные для объекта Statement.
void close()
Немедленно освобождает ресурсы базы данных и JDBC объекта Statement, не дожидаясь их автоматического освобождения при закрытии.
void closeOnCompletion()
Указывает, что объект Statement будет закрыт после закрытия всех зависимых от него наборов результатов.
default String enquoteIdentifier(String identifier, boolean alwaysDelimit)
Возвращает simple SQL identifier или идентификатор в разделителях.
default String enquoteLiteral(String val)
Возвращает String, заключенную в одинарные кавычки.
default String enquoteNCharLiteral(String val)
Возвращает String, представляющую литерал национального набора символов, заключенный в одинарные кавычки и имеющий префикс в виде заглавной буквы N.
boolean execute(String sql)
Выполняет заданный оператор SQL, который может возвращать несколько результатов.
boolean execute(String sql, int autoGeneratedKeys)
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи должны быть доступны для извлечения.
boolean execute(String sql, int[] columnIndexes)
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
boolean execute(String sql, String[] columnNames)
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
int[] executeBatch()
Отправляет пакет команд на выполнение в базу данных и, если все команды выполнены успешно, возвращает массив счетчиков обновления.
default long[] executeLargeBatch()
Отправляет пакет команд на выполнение в базу данных и, если все команды выполнены успешно, возвращает массив счетчиков обновления.
default long executeLargeUpdate(String sql)
Выполняет заданный оператор SQL, который может быть оператором INSERT, UPDATE или DELETE либо оператором SQL, не возвращающим результатов, например оператором DDL SQL.
default long executeLargeUpdate(String sql, int autoGeneratedKeys)
Выполняет заданный оператор SQL и сообщает драйверу с помощью заданного флага, должны ли сгенерированные объектом Statement автоматически ключи быть доступны для извлечения.
default long executeLargeUpdate(String sql, int[] columnIndexes)
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
default long executeLargeUpdate(String sql, String[] columnNames)
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
ResultSet executeQuery(String sql)
Выполняет заданный оператор SQL, возвращающий один объект ResultSet.
int executeUpdate(String sql)
Выполняет заданный оператор SQL, который может быть оператором INSERT, UPDATE или DELETE либо оператором SQL, не возвращающим результатов, например оператором DDL SQL.
int executeUpdate(String sql, int autoGeneratedKeys)
Выполняет заданный оператор SQL и сообщает драйверу с помощью заданного флага, должны ли сгенерированные объектом Statement автоматически ключи быть доступны для извлечения.
int executeUpdate(String sql, int[] columnIndexes)
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
int executeUpdate(String sql, String[] columnNames)
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения.
Connection getConnection()
Возвращает объект Connection, создавший этот объект Statement.
int getFetchDirection()
Возвращает направление выборки строк из таблиц базы данных, заданное по умолчанию для наборов результатов, создаваемых объектом Statement.
int getFetchSize()
Возвращает количество строк набора результатов, заданное по умолчанию в качестве размера выборки для объектов ResultSet, создаваемых объектом Statement.
ResultSet getGeneratedKeys()
Возвращает все автоматически сгенерированные ключи, созданные в результате выполнения объекта Statement.
default long getLargeMaxRows()
Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный объектом Statement.
default long getLargeUpdateCount()
Возвращает текущий результат в виде счетчика обновления; если результатом является объект ResultSet или больше результатов нет, возвращается -1.
int getMaxFieldSize()
Возвращает максимальное количество байтов, которое может быть возвращено для значений символьных и двоичных столбцов в объекте ResultSet, созданном объектом Statement.
int getMaxRows()
Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный объектом Statement.
boolean getMoreResults()
Переходит к следующему результату объекта Statement, возвращает true, если результатом является объект ResultSet, и неявно закрывает все текущие объекты ResultSet, полученные с помощью метода getResultSet.
boolean getMoreResults(int current)
Переходит к следующему результату объекта Statement, обрабатывает все текущие объекты ResultSet в соответствии с инструкциями, заданными указанным флагом, и возвращает true, если следующий результат является объектом ResultSet.
int getQueryTimeout()
Возвращает количество секунд, в течение которых драйвер будет ожидать выполнения объекта Statement.
ResultSet getResultSet()
Возвращает текущий результат в виде объекта ResultSet.
int getResultSetConcurrency()
Возвращает режим параллельного доступа набора результатов для объектов ResultSet, созданных объектом Statement.
int getResultSetHoldability()
Возвращает режим сохранения набора результатов для объектов ResultSet, созданных объектом Statement.
int getResultSetType()
Возвращает тип набора результатов для объектов ResultSet, созданных объектом Statement.
int getUpdateCount()
Возвращает текущий результат в виде счетчика обновления; если результатом является объект ResultSet или больше результатов нет, возвращается -1.
SQLWarning getWarnings()
Возвращает первое предупреждение, зарегистрированное при вызовах объекта Statement.
boolean isClosed()
Возвращает признак того, что объект Statement закрыт.
boolean isCloseOnCompletion()
Возвращает значение, указывающее, будет ли объект Statement закрыт после закрытия всех зависимых от него наборов результатов.
boolean isPoolable()
Возвращает значение, указывающее, является ли объект Statement допускающим объединение в пул.
default boolean isSimpleIdentifier(String identifier)
Возвращает значение, указывающее, является ли identifier простым идентификатором SQL.
void setCursorName(String name)
Задает имя курсора SQL равным указанному значению String, которое будет использоваться последующими методами execute объекта Statement.
void setEscapeProcessing(boolean enable)
Включает или отключает обработку escape-последовательностей.
void setFetchDirection(int direction)
Подсказывает драйверу направление обработки строк в объектах ResultSet, созданных с помощью объекта Statement.
void setFetchSize(int rows)
Подсказывает драйверу JDBC количество строк, которое следует извлекать из базы данных при необходимости дополнительных строк для объектов ResultSet, созданных объектом Statement.
default void setLargeMaxRows(long max)
Устанавливает заданное ограничение на максимальное количество строк, которое может содержать любой объект ResultSet, созданный объектом Statement.
void setMaxFieldSize(int max)
Устанавливает максимальное количество байтов, которое может быть возвращено для значений символьных и двоичных столбцов в объекте ResultSet, созданном объектом Statement.
void setMaxRows(int max)
Устанавливает заданное ограничение на максимальное количество строк, которое может содержать любой объект ResultSet, созданный объектом Statement.
void setPoolable(boolean poolable)
Запрашивает включение или отключение объекта Statement в пул.
void setQueryTimeout(int seconds)
Задает количество секунд, в течение которых драйвер будет ожидать выполнения объекта Statement.

Методы, объявленные в интерфейсе Wrapper

isWrapperFor, unwrap
Модификатор и тип Метод Описание
boolean isWrapperFor(Class<?> iface)
Возвращает true, если этот объект реализует интерфейс, переданный в качестве аргумента, или прямо либо косвенно является оболочкой для объекта, который его реализует.
<T> T unwrap(Class<T> iface)
Возвращает объект, реализующий заданный интерфейс, чтобы предоставить доступ к нестандартным методам или стандартным методам, не доступным через прокси.

Подробное описание методов

executeQuery

ResultSet executeQuery() throws SQLException
Выполняет SQL-запрос в этом объекте PreparedStatement и возвращает объект ResultSet, созданный запросом.
Возвращает:
объект ResultSet, содержащий данные, полученные в результате запроса; никогда не null
Вызывает:
SQLException — если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или SQL-оператор не возвращает объект ResultSet
SQLTimeoutException — если драйвер определил, что превышено значение времени ожидания, заданное методом setQueryTimeout, и по крайней мере попытался отменить выполняющийся в данный момент Statement

executeUpdate

int executeUpdate() throws SQLException
Выполняет SQL-оператор в этом объекте 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
Устанавливает для указанного параметра значение SQL 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
Устанавливает для указанного параметра заданное значение Java boolean. При отправке значения в базу данных драйвер преобразует его в значение SQL BIT или BOOLEAN.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setByte

void setByte(int parameterIndex, byte x) throws SQLException
Устанавливает для указанного параметра заданное значение Java byte. При отправке значения в базу данных драйвер преобразует его в значение SQL TINYINT.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setShort

void setShort(int parameterIndex, short x) throws SQLException
Устанавливает для указанного параметра заданное значение Java short. При отправке значения в базу данных драйвер преобразует его в значение SQL SMALLINT.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setInt

void setInt(int parameterIndex, int x) throws SQLException
Устанавливает для указанного параметра заданное значение Java int. При отправке значения в базу данных драйвер преобразует его в значение SQL INTEGER.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setLong

void setLong(int parameterIndex, long x) throws SQLException
Устанавливает для указанного параметра заданное значение Java long. При отправке значения в базу данных драйвер преобразует его в значение SQL BIGINT.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setFloat

void setFloat(int parameterIndex, float x) throws SQLException
Устанавливает для указанного параметра заданное значение Java float. При отправке значения в базу данных драйвер преобразует его в значение SQL REAL.
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setDouble

void setDouble(int parameterIndex, double x) throws SQLException
Устанавливает для указанного параметра заданное значение Java 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
Устанавливает для указанного параметра заданное значение Java String. При отправке значения в базу данных драйвер преобразует его в значение SQL VARCHAR или LONGVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения VARCHAR).
Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — значение параметра
Вызывает:
SQLException — если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement

setBytes

void setBytes(int parameterIndex, byte[] x) throws SQLException
Устанавливает для указанного параметра заданный массив байтов Java. При отправке значения в базу данных драйвер преобразует его в значение SQL 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
См. также:
  • Types

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
Выполняет SQL-оператор в объекте PreparedStatement, которым может быть SQL-оператор любого типа. Некоторые подготовленные операторы возвращают несколько результатов; метод execute обрабатывает такие сложные операторы, а также более простые варианты операторов, обрабатываемые методами executeQuery и executeUpdate.

Метод execute возвращает boolean, указывающий тип первого результата. Для получения результата необходимо вызвать метод getResultSet или getUpdateCount; для перехода к последующим результатам необходимо вызвать getMoreResults.

Возвращает:
true, если первый результат — объект ResultSet; false, если первый результат — количество обновленных строк или результат отсутствует
Вызывает:
SQLException — если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или ему передан аргумент
SQLTimeoutException — если драйвер определил, что превышено значение времени ожидания, заданное методом setQueryTimeout, и по крайней мере попытался отменить выполняющийся в данный момент Statement
См. также:
  • Statement.execute(String)
  • Statement.getResultSet()
  • Statement.getUpdateCount()
  • Statement.getMoreResults()

addBatch

void addBatch() throws SQLException
Добавляет набор параметров в пакет команд этого объекта PreparedStatement.
Вызывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Начиная с версии:
1.2
См. также:
  • Statement.addBatch(String)

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 — значение SQL REF
Вызывает:
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, соответствующий значению SQL BLOB
Вызывает:
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, соответствующий значению SQL CLOB
Вызывает:
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, соответствующий значению SQL ARRAY
Вызывает:
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
Устанавливает для указанного параметра значение SQL NULL. Эту версию метода setNull следует использовать для параметров пользовательских типов и типа REF. К пользовательским типам относятся, например: STRUCT, DISTINCT, JAVA_OBJECT и именованные типы массивов.

Примечание: Для обеспечения переносимости приложения должны указывать код типа SQL и полное имя типа SQL при задании значения NULL для параметра пользовательского типа или типа REF. Для пользовательского типа указывается имя типа самого параметра. Для параметра 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
См. также:
  • ParameterMetaData

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. Считыватель должен содержать указанное в 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. Считыватель должен содержать указанное в 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, представляющий значение SQL XML
Исключения:
SQLException — если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытого PreparedStatement или если для объекта SQLXML не закрыты java.xml.transform.Result, Writer или OutputStream
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С версии:
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.

Обратите внимание: этот метод можно использовать для передачи абстрактных типов данных, специфичных для конкретной базы данных.

Параметры:
parameterIndex — первый параметр имеет номер 1, второй — 2 и т. д.
x — объект, содержащий значение входного параметра
targetSqlType — тип SQL (определенный в java.sql.Types), который будет передан базе данных. Аргумент scale может дополнительно уточнять этот тип.
scaleOrLength — для java.sql.Types.DECIMAL или java.sql.Types.NUMERIC types это количество цифр после десятичной точки. Для типов объектов Java InputStream и Reader это длина данных в потоке или считывателе. Для всех остальных типов это значение игнорируется.
Исключения:
SQLException — если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытого PreparedStatement или если указанный Java-объект x является объектом InputStream или Reader, а значение параметра scale меньше нуля
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает указанный targetSqlType
См. также:
  • Types

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 InputStream и Reader это длина данных в потоке или средстве чтения. Для всех остальных типов это значение игнорируется.
Исключения:
SQLException — если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement; или если объект Java, указанный в x, является объектом InputStream или Reader, а значение параметра scale меньше нуля
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает указанный targetSqlType
Начиная с версии:
1.8
См. также:
  • JDBCType
  • SQLType

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
См. также:
  • JDBCType
  • SQLType

executeLargeUpdate

default long executeLargeUpdate() throws SQLException
Выполняет инструкцию SQL в этом объекте 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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API