Интерфейс PreparedStatement

Все суперинтерфейсы:
AutoCloseable, Statement, Wrapper
Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement
extends Statement

Объект, представляющий предопределённое SQL-выражение.

SQL-выражение предварительно компилируется и сохраняется в объекте PreparedStatement. Этот объект может затем использоваться для эффективного многократного выполнения этого выражения.

Примечание: Методы-сеттеры (setShort, setString, и так далее) для задания значений параметров IN должны указывать типы, совместимые с определённым SQL-типом входного параметра. Например, если параметр IN имеет SQL-тип INTEGER, то следует использовать метод setInt.

Если требуются произвольные преобразования типов параметров, следует использовать метод setObject с целевым SQL-типом.

В следующем примере установки параметра con представляет собой активное подключение:

PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   pstmt.setBigDecimal(1, 153833.00)
   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

Методы

Модификатор и тип Метод Описание
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, когда отправляет его в базу данных.

Параметры:
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

Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого ASCII-значения в параметр LONGVARCHAR может быть удобнее передавать его через 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

Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого Unicode-значения в параметр LONGVARCHAR может быть удобнее передавать его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из Unicode в формат символов базы данных. Формат байтов потока Unicode должен быть Java UTF-8, как определено в спецификации Java Virtual Machine.

Примечание: Этот объект потока может быть стандартным объектом 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 в бэкенд. Для максимальной переносимости следует использовать метод setNull или метод setObject(int parameterIndex, Object x, int sqlType) вместо setObject(int parameterIndex, Object x).

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

Параметры:
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(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 в формат символов базы данных.

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

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

setRef

void setRef(int parameterIndex,
            Ref x)
     throws SQLException

Устанавливает указанный параметр в заданное значение REF(<structured-type>). Драйвер преобразует это в значение SQL REF при отправке в базу данных.

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

setBlob

void setBlob(int parameterIndex,
             Blob x)
      throws SQLException

Устанавливает указанный параметр в заданный объект java.sql.Blob. Драйвер преобразует его в значение SQL BLOB при отправке в базу данных.

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

setClob

void setClob(int parameterIndex,
             Clob x)
      throws SQLException

Устанавливает указанный параметр в заданный объект java.sql.Clob. Драйвер преобразует его в значение SQL CLOB при отправке в базу данных.

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

setArray

void setArray(int parameterIndex,
              Array x)
       throws SQLException

Устанавливает указанный параметр в заданный объект java.sql.Array. Драйвер преобразует его в значение SQL ARRAY при отправке в базу данных.

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

getMetaData

ResultSetMetaData getMetaData()
                       throws SQLException

Возвращает объект ResultSetMetaData, содержащий информацию о столбцах объекта ResultSet, который будет возвращен при выполнении этого объекта PreparedStatement.

Поскольку объект PreparedStatement предварительно скомпилирован, можно узнать об объекте ResultSet, который он вернет, не выполняя его. Следовательно, можно вызвать метод getMetaData на объекте PreparedStatement вместо ожидания его выполнения и вызова метода ResultSet.getMetaData на возвращенном объекте ResultSet.

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

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

setDate

void setDate(int parameterIndex,
             Date x,
             Calendar cal)
      throws SQLException

Устанавливает указанный параметр в заданное значение java.sql.Date, используя заданный объект Calendar. Драйвер использует объект Calendar для построения значения SQL DATE, которое затем отправляется в базу данных. С объектом Calendar, драйвер может вычислить дату, учитывая пользовательскую часовую зону. Если объект Calendar не указан, драйвер использует стандартную часовую зону, которая соответствует виртуальной машине, выполняющей приложение.

Параметры:
parameterIndex - первый параметр равен 1, второй равен 2, и т. д.
x - значение параметра
cal - объект Calendar, который драйвер будет использовать для построения даты
Исключения:
SQLException - если параметр parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
С тех пор:
1.2

setTime

void setTime(int parameterIndex,
             Time x,
             Calendar cal)
      throws SQLException

Устанавливает указанный параметр в заданное значение java.sql.Time, используя заданный объект Calendar. Драйвер использует объект Calendar для построения значения SQL TIME, которое затем отправляется в базу данных. С объектом Calendar, драйвер может вычислить время, учитывая пользовательскую часовую зону. Если объект Calendar не указан, драйвер использует стандартную часовую зону, которая соответствует виртуальной машине, выполняющей приложение.

Параметры:
parameterIndex - первый параметр равен 1, второй равен 2, и т. д.
x - значение параметра
cal - объект Calendar, который драйвер будет использовать для построения времени
Исключения:
SQLException - если параметр parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
С тех пор:
1.2

setTimestamp

void setTimestamp(int parameterIndex,
                  Timestamp x,
                  Calendar cal)
           throws SQLException

Устанавливает указанный параметр в заданное значение java.sql.Timestamp, используя заданный объект Calendar. Драйвер использует объект Calendar для построения значения SQL TIMESTAMP, которое затем отправляется в базу данных. С объектом Calendar, драйвер может вычислить метку времени, учитывая пользовательскую часовую зону. Если объект Calendar не указан, драйвер использует стандартную часовую зону, которая соответствует виртуальной машине, выполняющей приложение.

Параметры:
parameterIndex - первый параметр равен 1, второй равен 2, и т. д.
x - значение параметра
cal - объект Calendar, который драйвер будет использовать для построения метки времени
Исключения:
SQLException - если параметр parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом PreparedStatement
С тех пор:
1.2

setNull

void setNull(int parameterIndex,
             int sqlType,
             String typeName)
      throws SQLException

Устанавливает указанный параметр в SQL NULL. Данная версия метода setNull должна использоваться для параметров пользовательских типов и REF. Примеры пользовательских типов: STRUCT, DISTINCT, JAVA_OBJECT и именованные массивы.

Примечание: Для обеспечения переносимости приложения необходимо указывать код типа SQL и полное имя типа SQL при указании параметра NULL пользовательского типа или REF. В случае пользовательского типа имя — это имя типа самого параметра. Для параметра REF имя — это имя типа ссылаемого типа. Если JDBC-драйверу не требуется информация о коде типа или имени типа, он может ее проигнорировать. Хотя этот метод предназначен для пользовательских и REF параметров, он может использоваться для установки нулевого параметра любого 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. Чтец должен содержать указанное количество символов, иначе при выполнении 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 должен содержать указанное количество байтов, иначе при выполнении 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. Чтец должен содержать указанное количество символов, иначе при выполнении 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, то поток должен содержать указанное количество байтов по масштабу или длине. Если второй аргумент - Reader, то читатель должен содержать указанное количество символов по масштабу или длине. Если эти условия не выполняются, драйвер сгенерирует 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

setAsciiStream

void setAsciiStream(int parameterIndex,
                    InputStream x)
             throws SQLException

Устанавливает указанный параметр в заданный входной поток. При вводе очень большого значения ASCII в параметр LONGVARCHAR, может быть более практичным отправить его через java.io.InputStream. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла. JDBC-драйвер выполнит любое необходимое преобразование из ASCII в формат символов базы данных.

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

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

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

setBinaryStream

void setBinaryStream(int parameterIndex,
                     InputStream x)
              throws SQLException

Устанавливает указанный параметр в заданный входной поток. При вводе очень большого двоичного значения в параметр LONGVARBINARY, может быть более практичным отправить его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла.

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

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

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

setCharacterStream

void setCharacterStream(int parameterIndex,
                        Reader reader)
                 throws SQLException

Устанавливает указанный параметр в заданный объект Reader. При вводе очень большого значения UNICODE в параметр LONGVARCHAR, может быть более практичным отправить его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла. JDBC-драйвер выполнит любое необходимое преобразование из UNICODE в формат символов базы данных.

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

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

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

setNCharacterStream

void setNCharacterStream(int parameterIndex,
                         Reader value)
                  throws SQLException

Устанавливает указанный параметр в объект Reader. Reader считывает данные до тех пор, пока не будет достигнут конец файла. Драйвер выполняет необходимое преобразование из формата символов Java в национальную кодировку в базе данных.

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

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

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

setClob

void setClob(int parameterIndex,
             Reader reader)
      throws SQLException

Устанавливает указанный параметр в объект Reader. Этот метод отличается от метода setCharacterStream (int, Reader), поскольку он сообщает драйверу, что значение параметра должно быть отправлено на сервер как CLOB. При использовании метода setCharacterStream, драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправлять данные параметра на сервер как LONGVARCHAR или CLOB

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

Parameters:
parameterIndex - индекс первого параметра равен 1, второго — 2 и т.д.
reader - Объект, содержащий данные для установки значения параметра.
Throws:
SQLException - если parameterIndex не соответствует параметрическому маркеру в операторе SQL; если возникает ошибка доступа к базе данных; этот метод вызывается для закрытого PreparedStatement или если parameterIndex не соответствует параметрическому маркеру в операторе SQL
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
Since:
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), за исключением того, что он предполагает масштаб нуль.

Реализация по умолчанию будет выбрасывать 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

© 1993, 2020, 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/11/docs/api/java.sql/java/sql/PreparedStatement.html

Spec-Zone .ru
спецификации, руководства, описания, API