Интерфейс 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- если 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
boolean. Драйвер преобразует это в SQL значение BIT или BOOLEAN при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setByte
void setByte(int parameterIndex, byte x) throws SQLException
byte. Драйвер преобразует это в SQL значение TINYINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setShort
void setShort(int parameterIndex, short x) throws SQLException
short. Драйвер преобразует это в SQL значение SMALLINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setInt
void setInt(int parameterIndex, int x) throws SQLException
int. Драйвер преобразует это в SQL значение INTEGER при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setLong
void setLong(int parameterIndex, long x) throws SQLException
long. Драйвер преобразует это в SQL значение BIGINT при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setFloat
void setFloat(int parameterIndex, float x) throws SQLException
float. Драйвер преобразует это в SQL значение REAL при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setDouble
void setDouble(int parameterIndex, double x) throws SQLException
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
String. Драйвер преобразует это в SQL значение VARCHAR или LONGVARCHAR (в зависимости от размера аргумента по отношению к пределам драйвера для VARCHAR значений) при отправке в базу данных.- Параметры:
-
parameterIndex- первый параметр 1, второй 2 и т.д. -
x- значение параметра - Исключение:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-опереаторе; если произошла ошибка доступа к базе данных или этот метод был вызван для закрытогоPreparedStatementобъекта
setBytes
void setBytes(int parameterIndex, byte[] x) throws SQLException
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
- Parameters:
-
parameterIndex- первый параметр равен 1, второй равен 2 и т.д. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
- Parameters:
-
parameterIndex- первый параметр равен 1, второй равен 2 и т.д. -
x- значение параметра - Throws:
-
SQLException- если parameterIndex не соответствует марке параметра в 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- если parameterIndex не соответствует марке параметра в 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- объект, содержащий значение параметра 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:
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
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, и т.д. -
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. Поток должен содержать количество символов, указанное параметром 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, который сопоставляет значение 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 в формат символов базы данных. Примечание: Этот объект потока может быть стандартным объектом потока 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
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 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, 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
setCharacterStream