Spec-Zone.ru › OpenJDK 17

Интерфейс PreparedStatement

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

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

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

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

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


   BigDecimal sal = new BigDecimal("153833.00");
   PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                     SET SALARY = ? WHERE ID = ?");
   pstmt.setBigDecimal(1, sal);
   pstmt.setInt(2, 110592);
 
С:
1.1
См. также:
  • Connection.prepareStatement(java.lang.String)
  • ResultSet

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

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

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

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

Modifier and Type Method Description
void addBatch()
Добавляет набор параметров в пакет команд объекта PreparedStatement.
void clearParameters()
Очищает текущие значения параметров немедленно.
boolean execute()
Выполняет SQL-запрос в объекте PreparedStatement, который может быть любым типом SQL-запроса.
default long executeLargeUpdate()
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, который ничего не возвращает, например, DDL-запрос.
ResultSet executeQuery()
Выполняет SQL-запрос в объекте PreparedStatement и возвращает объект ResultSet, сгенерированный запросом.
int executeUpdate()
Выполняет SQL-запрос в объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, который ничего не возвращает, например, DDL-запрос.
ResultSetMetaData getMetaData()
Возвращает объект ResultSetMetaData, содержащий информацию о столбцах объекта ResultSet, который будет возвращён при выполнении этого объекта PreparedStatement.
ParameterMetaData getParameterMetaData()
Возвращает количество, типы и свойства параметров объекта PreparedStatement.
void setArray(int parameterIndex, Array x)
Устанавливает указанный параметр в заданный объект java.sql.Array.
void setAsciiStream(int parameterIndex, InputStream x)
Устанавливает указанный параметр в заданный входной поток.
void setAsciiStream(int parameterIndex, InputStream x, int length)
Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов.
void setAsciiStream(int parameterIndex, InputStream x, long length)
Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов.
void setBigDecimal(int parameterIndex, BigDecimal x)
Устанавливает указанный параметр в заданное значение java.math.BigDecimal.
void setBinaryStream(int parameterIndex, InputStream x)
Устанавливает указанный параметр в заданный входной поток.
void setBinaryStream(int parameterIndex, InputStream x, int length)
Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов.
void setBinaryStream(int parameterIndex, InputStream x, long length)
Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов.
void setBlob(int parameterIndex, InputStream inputStream)
Устанавливает указанный параметр в объект InputStream.
void setBlob(int parameterIndex, InputStream inputStream, long length)
Устанавливает указанный параметр в объект InputStream.
void setBlob(int parameterIndex, Blob x)
Устанавливает указанный параметр в заданный объект java.sql.Blob.
void setBoolean(int parameterIndex, boolean x)
Устанавливает указанный параметр в заданное значение Java boolean.
void setByte(int parameterIndex, byte x)
Устанавливает указанный параметр в заданное значение Java byte.
void setBytes(int parameterIndex, byte[] x)
Устанавливает указанный параметр в заданный массив байтов Java.
void setCharacterStream(int parameterIndex, Reader reader)
Устанавливает указанный параметр в заданный объект Reader.
void setCharacterStream(int parameterIndex, Reader reader, int length)
Устанавливает указанный параметр в заданный объект Reader, имеющий заданную длину в символах.
void setCharacterStream(int parameterIndex, Reader reader, long length)
Устанавливает указанный параметр в заданный объект Reader, имеющий заданную длину в символах.
void setClob(int parameterIndex, Reader reader)
Устанавливает указанный параметр в объект Reader.
void setClob(int parameterIndex, Reader reader, long length)
Устанавливает указанный параметр в объект Reader.
void setClob(int parameterIndex, Clob x)
Устанавливает указанный параметр в заданный объект java.sql.Clob.
void setDate(int parameterIndex, Date x)
Устанавливает указанный параметр в заданное значение java.sql.Date с использованием часового пояса по умолчанию виртуальной машины, на которой выполняется приложение.
void setDate(int parameterIndex, Date x, Calendar cal)
Устанавливает указанный параметр в заданное значение java.sql.Date, используя заданный объект Calendar.
void setDouble(int parameterIndex, double x)
Устанавливает указанный параметр в заданное значение Java double.
void setFloat(int parameterIndex, float x)
Устанавливает указанный параметр в заданное значение Java float.
void setInt(int parameterIndex, int x)
Устанавливает указанный параметр в заданное значение Java int.
void setLong(int parameterIndex, long x)
Устанавливает указанный параметр в заданное значение Java long.
void setNCharacterStream(int parameterIndex, Reader value)
Устанавливает указанный параметр в объект Reader.
void setNCharacterStream(int parameterIndex, Reader value, long length)
Устанавливает указанный параметр в объект Reader.
void setNClob(int parameterIndex, Reader reader)
Устанавливает указанный параметр в объект Reader.
void setNClob(int parameterIndex, Reader reader, long length)
Устанавливает указанный параметр в объект Reader.
void setNClob(int parameterIndex, NClob value)
Устанавливает указанный параметр в объект java.sql.NClob.
void setNString(int parameterIndex, String value)
Устанавливает указанный параметр в заданный объект String.
void setNull(int parameterIndex, int sqlType)
Устанавливает указанный параметр в SQL NULL.
void setNull(int parameterIndex, int sqlType, String typeName)
Устанавливает указанный параметр в SQL NULL.
void setObject(int parameterIndex, Object x)
Устанавливает значение указанного параметра, используя заданный объект.
void setObject(int parameterIndex, Object x, int targetSqlType)
Устанавливает значение указанного параметра с помощью данного объекта.
void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)
Устанавливает значение указанного параметра с помощью данного объекта.
default void setObject(int parameterIndex, Object x, SQLType targetSqlType)
Устанавливает значение указанного параметра с помощью данного объекта.
default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength)
Устанавливает значение указанного параметра с помощью данного объекта.
void setRef(int parameterIndex, Ref x)
Устанавливает указанный параметр в заданное значение REF(<structured-type>).
void setRowId(int parameterIndex, RowId x)
Устанавливает указанный параметр в заданный объект java.sql.RowId.
void setShort(int parameterIndex, short x)
Устанавливает указанный параметр в заданное значение Java short.
void setSQLXML(int parameterIndex, SQLXML xmlObject)
Устанавливает указанный параметр в заданный объект java.sql.SQLXML.
void setString(int parameterIndex, String x)
Устанавливает указанный параметр в заданное значение Java String.
void setTime(int parameterIndex, Time x)
Устанавливает указанный параметр в заданное значение java.sql.Time.
void setTime(int parameterIndex, Time x, Calendar cal)
Устанавливает указанный параметр в заданное значение java.sql.Time, используя заданный объект Calendar.
void setTimestamp(int parameterIndex, Timestamp x)
Устанавливает указанный параметр в заданное значение java.sql.Timestamp.
void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
Устанавливает указанный параметр в заданное значение java.sql.Timestamp, используя указанный объект Calendar.
void setUnicodeStream(int parameterIndex, InputStream x, int length)
Устаревшее.
Используйте setCharacterStream
void setURL(int parameterIndex, URL x)
Устанавливает указанный параметр в заданное значение java.net.URL.

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

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

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

isWrapperFor, unwrap

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

executeQuery

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

executeUpdate

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

setNull

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

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

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

setBoolean

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

setByte

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

setShort

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

setInt

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

setLong

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

setFloat

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

setDouble

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

setBigDecimal

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

setString

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

setBytes

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

setDate

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

setTime

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

setTimestamp

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

setAsciiStream

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

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

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

setUnicodeStream

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

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

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

setBinaryStream

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

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

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

clearParameters

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

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

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

setObject

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

setObject

void setObject(int parameterIndex, Object x) throws SQLException

Устанавливает значение указанного параметра с помощью данного объекта.

Спецификация JDBC определяет стандартное отображение типов Java Object в типы SQL. Переданный аргумент будет преобразован в соответствующий тип SQL перед отправкой в базу данных.

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

Примечание: Не все базы данных позволяют отправлять нетипизированный Null на бэкенд. Для максимальной переносимости следует использовать метод setNull или setObject(int parameterIndex, Object x, int sqlType) вместо setObject(int parameterIndex, Object x).

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

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

execute

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

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

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

setSQLXML

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

setObject

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

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

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

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

Parameters:
parameterIndex - первый параметр равен 1, второй — 2 и так далее.
x - объект, содержащий значение входного параметра
targetSqlType - тип SQL (как определено в java.sql.Types), который будет отправлен в базу данных. Параметр scale может дополнительно уточнять этот тип.
scaleOrLength - для java.sql.Types.DECIMAL или java.sql.Types.NUMERIC types, это число цифр после запятой. Для типов Java-объектов 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 в формат символов базы данных.

Примечание: Обратитесь к документации вашего 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
Устанавливает указанный параметр в заданный поток ввода. При вводе очень большого двоичного значения в параметр, может быть более практичным отправлять его через объект 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, 2021, 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/17/docs/api/java.sql/java/sql/PreparedStatement.html

Spec-Zone.ru

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