Интерфейс PreparedStatement
- Все суперинтерфейсы:
-
AutoCloseable,Statement,Wrapper
- Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement extends Statement
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
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе 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 |
Устанавливает указанный параметр в заданный объект java.sql.Array. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setAsciiStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBigDecimal |
Устанавливает указанный параметр в заданное значение java.math.BigDecimal. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBinaryStream |
Устанавливает указанный параметр в заданный входной поток, который будет содержать указанное количество байтов. |
void |
setBlob |
Устанавливает указанный параметр в объект InputStream. |
void |
setBlob |
Устанавливает указанный параметр в объект InputStream. |
void |
setBlob |
Устанавливает указанный параметр в заданный объект java.sql.Blob. |
void |
setBoolean |
Устанавливает указанный параметр в заданное значение Java boolean. |
void |
setByte |
Устанавливает указанный параметр в заданное значение Java byte. |
void |
setBytes |
Устанавливает указанный параметр в заданный массив байтов Java. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader, длина которого задана. |
void |
setCharacterStream |
Устанавливает указанный параметр в заданный объект Reader, длина которого задана. |
void |
setClob |
Устанавливает указанный параметр в объект Reader. |
void |
setClob |
Устанавливает указанный параметр в объект Reader. |
void |
setClob |
Устанавливает указанный параметр в заданный объект java.sql.Clob. |
void |
setDate |
Устанавливает указанный параметр в заданное значение java.sql.Date с использованием по умолчанию часового пояса виртуальной машины, выполняющей приложение. |
void |
setDate |
Устанавливает указанный параметр в заданное значение java.sql.Date, используя указанный объект Calendar. |
void |
setDouble |
Устанавливает указанный параметр в заданное значение Java double. |
void |
setFloat |
Устанавливает указанный параметр в заданное значение Java float. |
void |
setInt |
Устанавливает указанный параметр в заданное значение Java int. |
void |
setLong |
Устанавливает указанный параметр в заданное значение Java long. |
void |
setNCharacterStream |
Устанавливает указанный параметр в объект Reader. |
void |
setNCharacterStream |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект Reader. |
void |
setNClob |
Устанавливает указанный параметр в объект java.sql.NClob. |
void |
setNString |
Устанавливает указанный параметр в заданный объект String. |
void |
setNull |
Устанавливает указанный параметр в SQL NULL. |
void |
setNull |
Устанавливает указанный параметр в SQL NULL. |
void |
setObject |
Устанавливает значение указанного параметра, используя заданный объект. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
default void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
default void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setRef |
Устанавливает указанный параметр в заданное значение REF(<structured-type>). |
void |
setRowId |
Устанавливает указанный параметр в заданный объект java.sql.RowId. |
void |
setShort |
Устанавливает указанный параметр в заданное значение Java short. |
void |
setSQLXML |
Устанавливает указанный параметр в заданный объект java.sql.SQLXML. |
void |
setString |
Устанавливает указанный параметр в заданное значение Java String. |
void |
setTime |
Устанавливает указанный параметр в заданное значение java.sql.Time. |
void |
setTime |
Устанавливает указанный параметр в заданное значение java.sql.Time, используя указанный объект Calendar. |
void |
setTimestamp |
Устанавливает указанный параметр в заданное значение java.sql.Timestamp. |
void |
setTimestamp |
Устанавливает указанный параметр в заданное java.sql.Timestamp значение, используя заданный Calendar объект. |
void |
setUnicodeStream |
Устарело. |
void |
setURL |
Устанавливает указанный параметр в заданное 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
PreparedStatement объекте и возвращает ResultSet объект, созданный запросом.- Возвращает:
- объект
ResultSet, содержащий данные, полученные в результате запроса; никогдаnull - Исключение:
-
SQLException- если произошла ошибка доступа к базе данных; этот метод вызывается на закрытомPreparedStatementобъекте или SQL-запрос не возвращает объектResultSet -
SQLTimeoutException- если драйвер определил, что значение таймаута, указанное методомsetQueryTimeout, истекло, и по крайней мере попытался отменить выполнение текущегоStatement
executeUpdate
int executeUpdate() throws SQLException
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
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
boolean. Драйвер преобразует его в SQL значение BIT или BOOLEAN при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setByte
void setByte(int parameterIndex, byte x) throws SQLException
byte. Драйвер преобразует его в SQL значение TINYINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setShort
void setShort(int parameterIndex, short x) throws SQLException
short. Драйвер преобразует его в SQL значение SMALLINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setInt
void setInt(int parameterIndex, int x) throws SQLException
int. Драйвер преобразует его в SQL значение INTEGER при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setLong
void setLong(int parameterIndex, long x) throws SQLException
long. Драйвер преобразует его в SQL значение BIGINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setFloat
void setFloat(int parameterIndex, float x) throws SQLException
float. Драйвер преобразует его в SQL значение REAL при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setDouble
void setDouble(int parameterIndex, double x) throws SQLException
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
String. Драйвер преобразует его в SQL значение VARCHAR или LONGVARCHAR (в зависимости от размера аргумента по сравнению с ограничениями драйвера на значения VARCHAR) при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр - 1, второй - 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызывается на закрытомPreparedStatementобъекте
setBytes
void setBytes(int parameterIndex, byte[] x) throws SQLException
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
- Parameters:
-
parameterIndex- первый параметр равен 1, второй - 2 и т.д. -
x- значение параметра - Throws:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
- Parameters:
-
parameterIndex- первый параметр равен 1, второй - 2 и т.д. -
x- значение параметра - Throws:
-
SQLException- если параметр не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
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
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:
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
PreparedStatement, который может быть любым типом SQL-запроса. Некоторые подготовленные операторы возвращают несколько результатов; метод execute обрабатывает такие сложные запросы, а также более простые формы запросов, обрабатываемые методами executeQuery и executeUpdate. Метод execute возвращает boolean, чтобы указать форму первого результата. Вы должны вызвать либо метод getResultSet, либо getUpdateCount, чтобы извлечь результат; вы должны вызвать getMoreResults для перехода к последующим результатам.
- Returns:
-
trueесли первый результат - объектResultSet;falseесли первый результат - счет обновления или нет результата - Throws:
-
SQLException- если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили аргумент передан в этот метод -
SQLTimeoutException- когда драйвер определил, что значение тайм-аута, заданное методомsetQueryTimeout, было превышено и по крайней мере пытался отменить текущее выполняемоеStatement - See Also:
addBatch
void addBatch() throws SQLException
PreparedStatement. - Возбуждает:
-
SQLException- если произошла ошибка доступа к базе данных или этот метод был вызван на закрытомPreparedStatement - С тех пор:
- 1.2
- См. также:
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- значение SQLREF - Возбуждает:
-
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, отображающий значение SQLBLOB - Возбуждает:
-
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, отображающий значение SQLCLOB - Возбуждает:
-
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, отображающий значение SQLARRAY - Возбуждает:
-
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
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:
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, отображающий значение SQLXML - 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:
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
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
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 ObjectInputStreamиReader, это длина данных в потоке или читателе. Для всех остальных типов это значение будет проигнорировано. - Throws:
-
SQLException- если parameterIndex не соответствует метке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatementили если Java-объект, указанный x, является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает указанный targetSqlType - Since:
- 1.8
- See Also:
УстановитьОбъект
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
- См. также:
выполнитьБольшоеОбновление
default long executeLargeUpdate() throws SQLException
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
setCharacterStream