Spec-Zone.ru › OpenJDK 24

Интерфейс 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(java.lang.String)
  • ResultSet

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

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

CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO

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

Modifier and Type Method Description
void addBatch()
Добавляет набор параметров в пакет команд объекта PreparedStatement.
void clearParameters()
Очищает текущие значения параметров немедленно.
boolean execute()
Выполняет SQL-запрос в объекте PreparedStatement, который может быть любым видом SQL-запроса.
default long executeLargeUpdate()
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, не возвращающий данных, например, DDL-запрос.
ResultSet executeQuery()
Выполняет SQL-запрос в объекте PreparedStatement и возвращает объект ResultSet, сгенерированный запросом.
int executeUpdate()
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, не возвращающий данных, например, DDL-запрос.
ResultSetMetaData getMetaData()
Возвращает объект ResultSetMetaData, содержащий информацию о столбцах объекта ResultSet, которые будут возвращены при выполнении этого объекта PreparedStatement.
ParameterMetaData getParameterMetaData()
Возвращает количество, типы и свойства параметров объекта PreparedStatement.
void setArray(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 значение.

Методы, объявленные в интерфейсе java.sql.Statement

addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout

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

isWrapperFor, unwrap

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

executeQuery

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

executeUpdate

int executeUpdate() throws SQLException
Выполняет инструкцию SQL в этом объекте PreparedStatement, которая должна быть инструкцией SQL Data Manipulation Language (DML), например, INSERT, UPDATE или DELETE; или инструкция SQL, которая ничего не возвращает, например, инструкция DDL.
Возвращает:
либо (1) количество строк для инструкций SQL Data Manipulation Language (DML), либо (2) 0 для инструкций SQL, которые ничего не возвращают
Исключения:
SQLException - если возникает ошибка доступа к базе данных; этот метод вызывается для закрытого PreparedStatement или инструкция SQL возвращает объект ResultSet
SQLTimeoutException - когда драйвер определил, что значение времени ожидания, указанное методом setQueryTimeout, было превышено, и по крайней мере попытался отменить текущий запущенный Statement

setNull

void setNull(int parameterIndex, int sqlType) throws SQLException
Устанавливает указанный параметр в 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 при отправке в базу данных.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

setTime

void setTime(int parameterIndex, Time x) throws SQLException
Устанавливает указанный параметр в заданное значение java.sql.Time. Драйвер преобразует это значение в SQL TIME при отправке в базу данных.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

setTimestamp

void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
Устанавливает указанный параметр в заданное значение java.sql.Timestamp. Драйвер преобразует это значение в SQL TIMESTAMP при отправке в базу данных.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

setAsciiStream

void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. При вводе очень большого ASCII значения в параметр LONGVARCHAR, может быть практичнее отправить его через java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из ASCII в формат символов базы данных.

Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - поток ввода Java, содержащий ASCII значение параметра
length - количество байтов в потоке
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

setUnicodeStream

@Deprecated(since="1.2") void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
Устарело.
Используйте setCharacterStream
Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. При вводе очень большого значения Unicode в параметр LONGVARCHAR, может быть практичнее отправить его через java.io.InputStream объект. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из Unicode в формат символов базы данных. Формат байтов потока Unicode должен быть Java UTF-8, как определено в спецификации виртуальной машины Java.

Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - объект java.io.InputStream, содержащий значение параметра Unicode
length - количество байтов в потоке
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если JDBC драйвер не поддерживает этот метод

setBinaryStream

void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. При вводе очень большого двоичного значения в параметр LONGVARBINARY, может быть практичнее отправить его через java.io.InputStream объект. Данные будут читаться из потока по мере необходимости до достижения конца файла.

Примечание: Объект потока может быть стандартным объектом Java или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - поток ввода Java, содержащий двоичное значение параметра
length - количество байтов в потоке
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

clearParameters

void clearParameters() throws SQLException
Очищает текущие значения параметров немедленно.

В общем случае, значения параметров остаются в силе для повторного использования оператора. Установка значения параметра автоматически очищает его предыдущее значение. Однако в некоторых случаях полезно немедленно освободить ресурсы, используемые текущими значениями параметров; это можно сделать, вызвав метод clearParameters.

Throws:
SQLException - если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement

setObject

void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
Устанавливает значение указанного параметра с помощью данного объекта. Этот метод похож на setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength), за исключением того, что он предполагает масштаб нуль.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - объект, содержащий значение входного параметра
targetSqlType - SQL тип (как определено в java.sql.Types), который будет отправлен в базу данных
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если JDBC драйвер не поддерживает указанный целевой тип targetSqlType
See Also:
  • 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 на бэкенд. Для максимальной переносимости следует использовать метод setNull или setObject(int parameterIndex, Object x, int sqlType) вместо setObject(int parameterIndex, Object x).

Примечание: Этот метод генерирует исключение, если есть неоднозначность, например, если объект реализует более одного из перечисленных интерфейсов.

Parameters:
parameterIndex - первый параметр — 1, второй — 2 и так далее.
x - объект, содержащий значение входного параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или тип данного объекта неоднозначен

execute

boolean execute() throws SQLException
Выполняет SQL-запрос в этом объекте PreparedStatement, который может быть любым типом SQL-запроса. Некоторые подготовленные запросы возвращают несколько результатов; метод execute обрабатывает эти сложные запросы, а также более простые, обрабатываемые методами executeQuery и executeUpdate.

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

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

addBatch

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

setCharacterStream

void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
Устанавливает указанный параметр в заданный объект Reader, длина которого равна заданному числу символов. При вводе очень большого значения UNICODE в параметр LONGVARCHAR, может быть целесообразнее отправить его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из UNICODE в формат char базы данных.

Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.

Параметры:
parameterIndex — первый параметр — 1, второй — 2 и т. д.
reader — объект java.io.Reader, содержащий данные Unicode
length — количество символов в потоке
Выбрасывает:
SQLException — если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объекте PreparedStatement
С тех пор:
1.2

setRef

void setRef(int parameterIndex, Ref x) throws SQLException
Устанавливает указанный параметр в заданное значение REF(<structured-type>). Драйвер преобразует это в значение SQL REF при отправке в базу данных.
Параметры:
parameterIndex — первый параметр — 1, второй — 2 и т. д.
x — значение 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.

ПРИМЕЧАНИЕ: Использование этого метода может быть дорогостоящим для некоторых драйверов из-за отсутствия поддержки в underlying DBMS.

Возвращает:
описание столбцов объекта ResultSet или null, если драйвер не может вернуть объект ResultSetMetaData
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объекте PreparedStatement
SQLFeatureNotSupportedException — если JDBC-драйвер не поддерживает этот метод
С тех пор:
1.2

setDate

void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
Устанавливает указанный параметр в заданное значение java.sql.Date, используя заданный объект Calendar. Драйвер использует объект Calendar для создания значения SQL DATE, которое затем отправляется в базу данных. С объектом Calendar драйвер может вычислить дату с учетом пользовательской временной зоны. Если объект Calendar не указан, драйвер использует по умолчанию временную зону виртуальной машины, на которой выполняется приложение.
Параметры:
parameterIndex — первый параметр — 1, второй — 2 и т. д.
x — значение параметра
cal — объект Calendar, который драйвер будет использовать для создания даты
Выбрасывает:
SQLException — если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объекте PreparedStatement
С тех пор:
1.2

setTime

void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
Устанавливает указанный параметр в заданное значение java.sql.Time, используя заданный объект Calendar. Драйвер использует объект Calendar для создания значения SQL TIME, которое затем отправляется в базу данных. С объектом Calendar драйвер может вычислить время с учетом пользовательской временной зоны. Если объект Calendar не указан, драйвер использует по умолчанию временную зону виртуальной машины, на которой выполняется приложение.
Параметры:
parameterIndex — первый параметр — 1, второй — 2 и т. д.
x — значение параметра
cal — объект Calendar, который драйвер будет использовать для создания времени
Выбрасывает:
SQLException — если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом объекте PreparedStatement
С тех пор:
1.2

setTimestamp

void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
Устанавливает указанный параметр в заданное значение java.sql.Timestamp, используя заданный объект Calendar. Драйвер использует объект Calendar для построения значения SQL TIMESTAMP, которое затем отправляется драйвером в базу данных. С объектом Calendar драйвер может вычислить метку времени, учитывая пользовательскую часовую зону. Если объект Calendar не указан, драйвер использует по умолчанию часовую зону виртуальной машины, на которой выполняется приложение.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и т. д.
x - значение параметра
cal - объект Calendar, который драйвер будет использовать для построения метки времени
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Since:
1.2

setNull

void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
Устанавливает указанный параметр в значение SQL NULL. Этот вариант метода setNull следует использовать для параметров пользовательских типов и типов REF. Примеры пользовательских типов включают: STRUCT, DISTINCT, JAVA_OBJECT и именованные массивы типов.

Примечание: Для обеспечения совместимости приложения должны указывать код SQL-типа и полное квалифицированное имя SQL-типа при указании параметра NULL пользовательского типа или типа REF. В случае пользовательского типа имя — это имя типа самого параметра. Для параметра REF имя — это имя типа связанного типа. Если драйвер JDBC не нуждается в коде типа или имени типа, он может его игнорировать. Хотя он предназначен для параметров пользовательского типа и REF, этот метод можно использовать для установки нулевого параметра любого типа JDBC. Если у параметра нет пользовательского или REF-типа, заданное имя типа игнорируется.

Parameters:
parameterIndex - первый параметр — 1, второй — 2 и т. д.
sqlType - значение из java.sql.Types
typeName - полное квалифицированное имя SQL пользовательского типа; игнорируется, если параметр не является типом пользовательского типа или REF
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если sqlType является типом ARRAY, BLOB, CLOB, DATALINK, JAVA_OBJECT, NCHAR, NCLOB, NVARCHAR, LONGNVARCHAR, REF, ROWID, SQLXML или STRUCT, и драйвер JDBC не поддерживает этот тип данных, или если драйвер JDBC не поддерживает этот метод
Since:
1.2

setURL

void setURL(int parameterIndex, URL x) throws SQLException
Устанавливает указанный параметр в заданное значение java.net.URL. Драйвер преобразует его в значение SQL DATALINK при отправке в базу данных.
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и т. д.
x - объект java.net.URL, который нужно установить
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.4

getParameterMetaData

ParameterMetaData getParameterMetaData() throws SQLException
Извлекает количество, типы и свойства параметров этого объекта PreparedStatement.
Returns:
объект ParameterMetaData, который содержит информацию о количестве, типах и свойствах для каждой метки параметра этого объекта PreparedStatement
Throws:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Since:
1.4
See Also:
  • ParameterMetaData

setRowId

void setRowId(int parameterIndex, RowId x) throws SQLException
Устанавливает указанный параметр в заданный объект java.sql.RowId. Драйвер преобразует его в значение SQL ROWID при отправке в базу данных
Parameters:
parameterIndex - первый параметр — 1, второй — 2 и т. д.
x - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.6

setNString

void setNString(int parameterIndex, String value) throws SQLException
Устанавливает указанный параметр в заданный объект String. Драйвер преобразует его в значение SQL NCHAR или NVARCHAR или LONGNVARCHAR (в зависимости от размера аргумента по отношению к ограничениям драйвера на значения NVARCHAR) при отправке в базу данных.
Parameters:
parameterIndex - индекс первого параметра — 1, второго — 2 и т. д.
value - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.6

setNCharacterStream

void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Устанавливает указанный параметр в объект Reader. Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из формата Java-символов в национальный набор символов в базе данных.
Parameters:
parameterIndex - индекс первого параметра — 1, второго — 2 и т. д.
value - значение параметра
length - количество символов в данных параметра.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.6

setNClob

void setNClob(int parameterIndex, NClob value) throws SQLException
Устанавливает указанный параметр в объект java.sql.NClob. Драйвер преобразует его в значение SQL NCLOB при отправке в базу данных.
Parameters:
parameterIndex - индекс первого параметра — 1, второго — 2 и т. д.
value - значение параметра
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.6

setClob

void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Устанавливает указанный параметр в объект Reader. Поток чтения должен содержать количество символов, указанное в параметре length, иначе при выполнении запроса PreparedStatement будет генерироваться исключение SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что он информирует драйвер, что значение параметра должно быть отправлено на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительные действия, чтобы определить, следует ли отправлять данные параметра на сервер как LONGVARCHAR или как CLOB
Parameters:
parameterIndex - индекс первого параметра — 1, второго — 2 и т. д.
reader - объект, содержащий данные для установки значения параметра.
length - количество символов в данных параметра.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или если указанная длина меньше нуля.
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
1.6

setBlob

void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException
Устанавливает указанный параметр в объект типа InputStream. Объект Inputstream должен содержать количество символов, указанное значением length, иначе при выполнении PreparedStatement будет сгенерировано исключение SQLException. Этот метод отличается от метода setBinaryStream (int, InputStream, int) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер в виде BLOB. Когда используется метод setBinaryStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер в виде LONGVARBINARY или BLOB.
Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
inputStream - объект, содержащий данные для установки значения параметра.
length - количество байтов в данных параметра.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement; если указанная длина меньше нуля или количество байтов в InputStream не соответствует указанной длине.
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
Since:
1.6

setNClob

void setNClob(int parameterIndex, Reader reader, long length) throws SQLException
Устанавливает указанный параметр в объект типа Reader. Объект reader должен содержать количество символов, указанное значением length, иначе при выполнении PreparedStatement будет сгенерировано исключение SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер в виде NCLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер в виде LONGNVARCHAR или NCLOB
Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
reader - объект, содержащий данные для установки значения параметра.
length - количество символов в данных параметра.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если указанная длина меньше нуля; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
Since:
1.6

setSQLXML

void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
Устанавливает указанный параметр в заданный объект java.sql.SQLXML. Драйвер преобразует его в значение SQL XML при отправке в базу данных.
Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
xmlObject - объект SQLXML, который отображает значение SQL XML
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или java.xml.transform.Result, Writer или OutputStream не были закрыты для объекта SQLXML
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
Since:
1.6

setObject

void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException

Устанавливает значение указанного параметра с помощью данного объекта. Если второй аргумент - объект InputStream, то поток должен содержать количество байтов, указанное значением scaleOrLength. Если второй аргумент - объект Reader, то поток должен содержать количество символов, указанное значением scaleOrLength. Если эти условия не выполняются, драйвер сгенерирует исключение SQLException при выполнении подготовленного запроса.

Указанный Java-объект будет преобразован в указанный targetSqlType перед отправкой в базу данных. Если у объекта есть пользовательское отображение (он принадлежит классу, реализующему интерфейс SQLData), JDBC-драйвер должен вызвать метод SQLData.writeSQL, чтобы записать его в поток данных SQL. Если, с другой стороны, объект принадлежит классу, реализующему Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных в качестве значения соответствующего SQL-типа.

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

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

setAsciiStream

void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого ASCII-значения в параметр типа LONGVARCHAR может быть удобнее передать его через java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит необходимое преобразование из ASCII в формат символов базы данных.

Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
x - поток ввода Java, содержащий ASCII-значение параметра.
length - количество байтов в потоке.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Since:
1.6

setBinaryStream

void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException
Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого двоичного значения в параметр типа LONGVARBINARY может быть удобнее передать его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла.

Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
x - поток ввода Java, содержащий двоичное значение параметра.
length - количество байтов в потоке.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Since:
1.6

setCharacterStream

void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException
Устанавливает указанный параметр в заданный объект Reader, имеющий заданное количество символов. При вводе очень большого UNICODE-значения в параметр типа LONGVARCHAR может быть удобнее передать его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит необходимое преобразование из UNICODE в формат символов базы данных.

Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.

Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
reader - объект java.io.Reader, содержащий данные Unicode.
length - количество символов в потоке.
Throws:
SQLException - если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
Since:
1.6

УстановитьПотокASCII

void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
Устанавливает указанный параметр в заданный поток ввода. Когда очень большое значение ASCII вводится в параметр LONGVARCHAR, может быть более практичным отправить его через объект java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из ASCII в формат символов базы данных.

Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setAsciiStream, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - первый параметр имеет индекс 1, второй - 2 и т.д.
x - поток ввода Java, содержащий значение параметра ASCII
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьПотокБинарныхДанных

void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
Устанавливает указанный параметр в заданный поток ввода. Когда очень большое двоичное значение вводится в параметр LONGVARBINARY, может быть более практичным отправить его через объект java.io.InputStream. Данные будут читаться из потока по мере необходимости до достижения конца файла.

Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setBinaryStream, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - первый параметр имеет индекс 1, второй - 2 и т.д.
x - поток ввода Java, содержащий значение двоичного параметра
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьПотокСимволов

void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
Устанавливает указанный параметр в заданный объект потока Reader. Когда очень большое значение UNICODE вводится в параметр LONGVARCHAR, может быть более практичным отправить его через объект java.io.Reader. Данные будут читаться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимую конвертацию из UNICODE в формат символов базы данных.

Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setCharacterStream, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
reader - объект потока java.io.Reader, содержащий данные Unicode
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьПотокСимволовНациональногоНабора

void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Устанавливает указанный параметр в объект потока Reader. Поток Reader считывает данные до конца файла. Драйвер выполняет необходимую конвертацию из формата символов Java в национальный набор символов базы данных.

Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setNCharacterStream, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
value - значение параметра
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьОбъектCLOB

void setClob(int parameterIndex, Reader reader) throws SQLException
Устанавливает указанный параметр в объект Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как CLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGVARCHAR или CLOB.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setClob, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
reader - объект, содержащий данные для установки значения параметра.
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод был вызван на закрытом PreparedStatement или если параметр index не соответствует марке параметра в SQL-запросе
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьОбъектBLOB

void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
Устанавливает указанный параметр в объект InputStream. Этот метод отличается от метода setBinaryStream (int, InputStream) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как BLOB. Когда используется метод setBinaryStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGVARBINARY или BLOB.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setBlob, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
inputStream - объект, содержащий данные для установки значения параметра.
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод был вызван на закрытом PreparedStatement или если параметр index не соответствует марке параметра в SQL-запросе
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

УстановитьОбъектNCLOB

void setNClob(int parameterIndex, Reader reader) throws SQLException
Устанавливает указанный параметр в объект Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу, что значение параметра должно быть отправлено на сервер как NCLOB. Когда используется метод setCharacterStream, драйверу может потребоваться выполнить дополнительные действия для определения, следует ли отправлять данные параметра на сервер как LONGNVARCHAR или NCLOB.

Примечание: Обратитесь к документации вашего драйвера JDBC, чтобы определить, может ли использование версии setNClob, принимающей параметр длины, быть более эффективным.

Параметры:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т.д.
reader - объект, содержащий данные для установки значения параметра.
Исключения:
SQLException - если параметр index не соответствует марке параметра в SQL-запросе; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С:
1.6

setObject

default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException

Устанавливает значение указанного параметра с помощью данного объекта. Если второй аргумент является InputStream, то поток должен содержать количество байтов, указанное параметром scaleOrLength. Если второй аргумент является Reader, то читатель должен содержать количество символов, указанное параметром scaleOrLength. Если эти условия не выполняются, драйвер базы данных сгенерирует SQLException при выполнении подготовленного оператора.

Указанный Java-объект будет преобразован в указанный targetSqlType перед отправкой в базу данных. Если у объекта есть пользовательское отображение (он является экземпляром класса, реализующего интерфейс SQLData), драйвер JDBC должен вызвать метод SQLData.writeSQL для записи его в поток данных SQL. Если же объект является экземпляром класса, реализующего интерфейсы Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных как значение соответствующего типа SQL.

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

Реализация по умолчанию будет выбрасывать SQLFeatureNotSupportedException

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

setObject

default void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException
Устанавливает значение указанного параметра с помощью данного объекта. Этот метод похож на setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength), за исключением того, что он предполагает масштаб ноль.

Реализация по умолчанию будет выбрасывать SQLFeatureNotSupportedException

Parameters:
parameterIndex — первый параметр равен 1, второй равен 2 и т. д.
x — объект, содержащий значение входного параметра
targetSqlType — тип SQL, который будет отправлен в базу данных
Throws:
SQLException — если parameterIndex не соответствует марке параметра в операторе SQL; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает указанный targetSqlType
Since:
1.8
See Also:
  • JDBCType
  • SQLType

executeLargeUpdate

default long executeLargeUpdate() throws SQLException
Выполняет оператор SQL в этом объекте PreparedStatement, который должен быть оператором языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или оператором SQL, который ничего не возвращает, например, оператором DDL.

Этот метод следует использовать, когда возвращаемое количество строк может превысить Integer.MAX_VALUE.

Реализация по умолчанию будет выбрасывать UnsupportedOperationException

Returns:
либо (1) количество строк для операторов языка манипулирования данными (DML), либо (2) 0 для операторов SQL, которые ничего не возвращают
Throws:
SQLException — если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или оператор SQL возвращает объект ResultSet
SQLTimeoutException — когда драйвер определил, что истек заданный параметром setQueryTimeout таймаут и по крайней мере попытался отменить текущее выполняемое Statement
Since:
1.8

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql/java/sql/PreparedStatement.html

Spec-Zone.ru

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