Spec-Zone.ru › OpenJDK 25

Интерфейс PreparedStatement

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

Инструкция 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
См. также:
  • 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

Краткое описание методов

Модификатор и тип Метод Описание
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

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

isWrapperFor, unwrap

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

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 и именованные типы массивов.

Примечание: Для обеспечения переносимости при указании 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
См. также:
  • 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. Объект 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, представляющий значение SQL XML
Исключения:
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 — количество цифр после десятичной точки. Для типов объектов Java InputStream и Reader — длина данных в потоке или объекте 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 Object 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/PreparedStatement.html

Spec-Zone.ru

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