Spec-Zone.ru › OpenJDK 21

Интерфейс 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.
END_OF_DOCUMENT_MARKER
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-командой языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, который ничего не возвращает, например, DDL-команда.
Возвращает:
либо (1) количество строк для SQL-команд языка манипулирования данными (DML), либо (2) 0 для SQL-запросов, которые ничего не возвращают
Исключение:
SQLException - если произошла ошибка доступа к базе данных; этот метод вызывается на закрытом PreparedStatement объекте или SQL-запрос возвращает объект ResultSet
SQLTimeoutException - если драйвер определил, что значение таймаута, указанное методом setQueryTimeout, истекло, и по крайней мере попытался отменить выполнение текущего Statement

setNull

void setNull(int parameterIndex, int sqlType) throws SQLException
Устанавливает указанный параметр в SQL NULL.

Примечание: Вы должны указать тип SQL параметра.

Параметры:
parameterIndex - первый параметр - 1, второй - 2 и т.д.
sqlType - код типа SQL, определённый в java.sql.Types
Исключение:
SQLException - если параметр не соответствует марке параметра в 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 - если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом PreparedStatement объекте

setByte

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

setShort

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

setInt

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

setLong

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

setFloat

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

setDouble

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

setBigDecimal

void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
Устанавливает указанный параметр в заданное значение java.math.BigDecimal. Драйвер преобразует его в SQL значение NUMERIC при отправке в базу данных.
Параметры:
parameterIndex - первый параметр - 1, второй - 2 и т.д.
x - значение параметра
Исключение:
SQLException - если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом PreparedStatement объекте

setString

void setString(int parameterIndex, String x) throws SQLException
Устанавливает указанный параметр в заданное Java значение String. Драйвер преобразует его в SQL значение VARCHAR или LONGVARCHAR (в зависимости от размера аргумента по сравнению с ограничениями драйвера на значения VARCHAR) при отправке в базу данных.
Параметры:
parameterIndex - первый параметр - 1, второй - 2 и т.д.
x - значение параметра
Исключение:
SQLException - если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом PreparedStatement объекте

setBytes

void setBytes(int parameterIndex, byte[] x) throws SQLException
Устанавливает указанный параметр в заданный Java массив байтов. Драйвер преобразует его в SQL значение VARBINARY или LONGVARBINARY (в зависимости от размера аргумента по сравнению с ограничениями драйвера на значения VARBINARY) при отправке в базу данных.
Параметры:
parameterIndex - первый параметр - 1, второй - 2 и т.д.
x - значение параметра
Исключение:
SQLException - если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытом PreparedStatement объекте

setDate

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

setTime

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

setTimestamp

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

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

execute

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

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

Returns:
true если первый результат - объект ResultSet; false если первый результат - счет обновления или нет результата
Throws:
SQLException - если произошла ошибка доступа к базе данных; этот метод вызван для закрытого PreparedStatement или аргумент передан в этот метод
SQLTimeoutException - когда драйвер определил, что значение тайм-аута, заданное методом setQueryTimeout, было превышено и по крайней мере пытался отменить текущее выполняемое Statement
See Also:
  • 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 типа, его можно использовать для установки параметра NULL любого типа 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, иначе при выполнении 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, иначе при выполнении 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. Чтец должен содержать количество символов, указанное длиной, в противном случае при выполнении 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-объектов 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 в формат символов базы данных.
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. Данные будут считываться из потока по мере необходимости до достижения конца файла.
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 в формат символов базы данных.
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 в формат символов базы данных.
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
Устанавливает указанный параметр в заданный поток ввода. При вводе очень большого двоичного значения в параметр, может быть более целесообразно передать его через объект 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, принимающей параметр длины, быть более эффективным.

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

setNClob

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

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

Parameters:
parameterIndex - индекс первого параметра равен 1, второго - 2 и т. д.
reader - объект, содержащий данные для установки значения параметра.
Throws:
SQLException - если parameterIndex не соответствует метке параметра в SQL-запросе; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что может произойти ошибка преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
Since:
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 Object InputStream и Reader, это длина данных в потоке или читателе. Для всех остальных типов это значение будет проигнорировано.
Throws:
SQLException - если parameterIndex не соответствует метке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement или если Java-объект, указанный x, является объектом InputStream или Reader, а значение параметра scale меньше нуля
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает указанный targetSqlType
Since:
1.8
See Also:
  • JDBCType
  • SQLType

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

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

выполнитьБольшоеОбновление

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, 2023, 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/21/docs/api/java.sql/java/sql/PreparedStatement.html

Spec-Zone.ru

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