Интерфейс 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
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
CLOSE_ALL_RESULTS |
Константа, указывающая, что все ранее оставленные открытыми объекты ResultSet должны быть закрыты при вызове getMoreResults. |
static final int |
CLOSE_CURRENT_RESULT |
Константа, указывающая, что текущий объект ResultSet должен быть закрыт при вызове getMoreResults. |
static final int |
EXECUTE_FAILED |
Константа, указывающая, что при выполнении пакетного оператора произошла ошибка. |
static final int |
KEEP_CURRENT_RESULT |
Константа, указывающая, что текущий объект ResultSet не должен закрываться при вызове getMoreResults. |
static final int |
NO_GENERATED_KEYS |
Константа, указывающая, что сгенерированные ключи не должны быть доступны для извлечения. |
static final int |
RETURN_GENERATED_KEYS |
Константа, указывающая, что сгенерированные ключи должны быть доступны для извлечения. |
static final int |
SUCCESS_NO_INFO |
Константа, указывающая, что пакетный оператор выполнен успешно, но количество затронутых им строк неизвестно. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addBatch() |
Добавляет набор параметров в пакет команд объекта PreparedStatement. |
void |
clearParameters() |
Немедленно очищает текущие значения параметров. |
boolean |
execute() |
Выполняет оператор SQL в объекте PreparedStatement, который может быть оператором SQL любого типа. |
default long |
executeLargeUpdate() |
Выполняет оператор SQL в объекте PreparedStatement. Это должен быть оператор языка манипулирования данными SQL (DML), например INSERT, UPDATE или DELETE, либо оператор SQL, не возвращающий результатов, например оператор DDL. |
ResultSet |
executeQuery() |
Выполняет запрос SQL в объекте PreparedStatement и возвращает объект ResultSet, созданный этим запросом. |
int |
executeUpdate() |
Выполняет оператор SQL в объекте PreparedStatement. Это должен быть оператор языка манипулирования данными SQL (DML), например INSERT, UPDATE или DELETE, либо оператор SQL, не возвращающий результатов, например оператор DDL. |
ResultSetMetaData |
getMetaData() |
Возвращает объект ResultSetMetaData, содержащий сведения о столбцах объекта ResultSet, который будет возвращен при выполнении объекта PreparedStatement. |
ParameterMetaData |
getParameterMetaData() |
Возвращает количество, типы и свойства параметров объекта PreparedStatement. |
void |
setArray |
Устанавливает для указанного параметра заданное значение объекта 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. |
Методы, объявленные в интерфейсе 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 | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addBatch |
Добавляет заданную команду SQL в текущий список команд объекта Statement. |
void |
cancel() |
Отменяет объект Statement, если СУБД и драйвер поддерживают прерывание выполнения оператора SQL. |
void |
clearBatch() |
Очищает текущий список команд SQL объекта Statement. |
void |
clearWarnings() |
Очищает все предупреждения, зарегистрированные для объекта Statement. |
void |
close() |
Немедленно освобождает ресурсы базы данных и JDBC объекта Statement, не дожидаясь их автоматического освобождения при закрытии. |
void |
closeOnCompletion() |
Указывает, что объект Statement будет закрыт после закрытия всех зависимых от него наборов результатов. |
default String |
enquoteIdentifier |
Возвращает simple SQL identifier или идентификатор в разделителях. |
default String |
enquoteLiteral |
Возвращает String, заключенную в одинарные кавычки. |
default String |
enquoteNCharLiteral |
Возвращает String, представляющую литерал национального набора символов, заключенный в одинарные кавычки и имеющий префикс в виде заглавной буквы N. |
boolean |
execute |
Выполняет заданный оператор SQL, который может возвращать несколько результатов. |
boolean |
execute |
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи должны быть доступны для извлечения. |
boolean |
execute |
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
boolean |
execute |
Выполняет заданный оператор SQL, который может возвращать несколько результатов, и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
int[] |
executeBatch() |
Отправляет пакет команд на выполнение в базу данных и, если все команды выполнены успешно, возвращает массив счетчиков обновления. |
default long[] |
executeLargeBatch() |
Отправляет пакет команд на выполнение в базу данных и, если все команды выполнены успешно, возвращает массив счетчиков обновления. |
default long |
executeLargeUpdate |
Выполняет заданный оператор SQL, который может быть оператором INSERT, UPDATE или DELETE либо оператором SQL, не возвращающим результатов, например оператором DDL SQL. |
default long |
executeLargeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу с помощью заданного флага, должны ли сгенерированные объектом Statement автоматически ключи быть доступны для извлечения. |
default long |
executeLargeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
default long |
executeLargeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
ResultSet |
executeQuery |
Выполняет заданный оператор SQL, возвращающий один объект ResultSet. |
int |
executeUpdate |
Выполняет заданный оператор SQL, который может быть оператором INSERT, UPDATE или DELETE либо оператором SQL, не возвращающим результатов, например оператором DDL SQL. |
int |
executeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу с помощью заданного флага, должны ли сгенерированные объектом Statement автоматически ключи быть доступны для извлечения. |
int |
executeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
int |
executeUpdate |
Выполняет заданный оператор SQL и сообщает драйверу, что сгенерированные автоматически ключи, указанные в заданном массиве, должны быть доступны для извлечения. |
Connection |
getConnection() |
Возвращает объект Connection, создавший этот объект Statement. |
int |
getFetchDirection() |
Возвращает направление выборки строк из таблиц базы данных, заданное по умолчанию для наборов результатов, создаваемых объектом Statement. |
int |
getFetchSize() |
Возвращает количество строк набора результатов, заданное по умолчанию в качестве размера выборки для объектов ResultSet, создаваемых объектом Statement. |
ResultSet |
getGeneratedKeys() |
Возвращает все автоматически сгенерированные ключи, созданные в результате выполнения объекта Statement. |
default long |
getLargeMaxRows() |
Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный объектом Statement. |
default long |
getLargeUpdateCount() |
Возвращает текущий результат в виде счетчика обновления; если результатом является объект ResultSet или больше результатов нет, возвращается -1. |
int |
getMaxFieldSize() |
Возвращает максимальное количество байтов, которое может быть возвращено для значений символьных и двоичных столбцов в объекте ResultSet, созданном объектом Statement. |
int |
getMaxRows() |
Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный объектом Statement. |
boolean |
getMoreResults() |
Переходит к следующему результату объекта Statement, возвращает true, если результатом является объект ResultSet, и неявно закрывает все текущие объекты ResultSet, полученные с помощью метода getResultSet. |
boolean |
getMoreResults |
Переходит к следующему результату объекта Statement, обрабатывает все текущие объекты ResultSet в соответствии с инструкциями, заданными указанным флагом, и возвращает true, если следующий результат является объектом ResultSet. |
int |
getQueryTimeout() |
Возвращает количество секунд, в течение которых драйвер будет ожидать выполнения объекта Statement. |
ResultSet |
getResultSet() |
Возвращает текущий результат в виде объекта ResultSet. |
int |
getResultSetConcurrency() |
Возвращает режим параллельного доступа набора результатов для объектов ResultSet, созданных объектом Statement. |
int |
getResultSetHoldability() |
Возвращает режим сохранения набора результатов для объектов ResultSet, созданных объектом Statement. |
int |
getResultSetType() |
Возвращает тип набора результатов для объектов ResultSet, созданных объектом Statement. |
int |
getUpdateCount() |
Возвращает текущий результат в виде счетчика обновления; если результатом является объект ResultSet или больше результатов нет, возвращается -1. |
SQLWarning |
getWarnings() |
Возвращает первое предупреждение, зарегистрированное при вызовах объекта Statement. |
boolean |
isClosed() |
Возвращает признак того, что объект Statement закрыт. |
boolean |
isCloseOnCompletion() |
Возвращает значение, указывающее, будет ли объект Statement закрыт после закрытия всех зависимых от него наборов результатов. |
boolean |
isPoolable() |
Возвращает значение, указывающее, является ли объект Statement допускающим объединение в пул. |
default boolean |
isSimpleIdentifier |
Возвращает значение, указывающее, является ли identifier простым идентификатором SQL. |
void |
setCursorName |
Задает имя курсора SQL равным указанному значению String, которое будет использоваться последующими методами execute объекта Statement. |
void |
setEscapeProcessing |
Включает или отключает обработку escape-последовательностей. |
void |
setFetchDirection |
Подсказывает драйверу направление обработки строк в объектах ResultSet, созданных с помощью объекта Statement. |
void |
setFetchSize |
Подсказывает драйверу JDBC количество строк, которое следует извлекать из базы данных при необходимости дополнительных строк для объектов ResultSet, созданных объектом Statement. |
default void |
setLargeMaxRows |
Устанавливает заданное ограничение на максимальное количество строк, которое может содержать любой объект ResultSet, созданный объектом Statement. |
void |
setMaxFieldSize |
Устанавливает максимальное количество байтов, которое может быть возвращено для значений символьных и двоичных столбцов в объекте ResultSet, созданном объектом Statement. |
void |
setMaxRows |
Устанавливает заданное ограничение на максимальное количество строк, которое может содержать любой объект ResultSet, созданный объектом Statement. |
void |
setPoolable |
Запрашивает включение или отключение объекта Statement в пул. |
void |
setQueryTimeout |
Задает количество секунд, в течение которых драйвер будет ожидать выполнения объекта Statement. |
Методы, объявленные в интерфейсе Wrapper
isWrapperFor, unwrap | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isWrapperFor |
Возвращает true, если этот объект реализует интерфейс, переданный в качестве аргумента, или прямо либо косвенно является оболочкой для объекта, который его реализует. |
<T> T |
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
java.sql.Time. При отправке значения в базу данных драйвер преобразует его в значение SQL TIME.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— значение параметра - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setTimestamp
void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp. При отправке значения в базу данных драйвер преобразует его в значение SQL TIMESTAMP.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— значение параметра - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARCHAR вводится очень большое значение ASCII, может быть удобнее передать его с помощью java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит все необходимые преобразования из ASCII в символьный формат базы данных. Примечание: Этот объект потока может быть стандартным объектом потока Java или пользовательским подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий значение параметра ASCII -
length— количество байтов в потоке - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setUnicodeStream
@Deprecated(since="1.2") void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
setCharacterStream
LONGVARCHAR вводится очень большое значение Unicode, может быть удобнее передать его с помощью объекта java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит все необходимые преобразования из Unicode в символьный формат базы данных. Формат байтов потока Unicode должен соответствовать Java UTF-8, определенному в спецификации виртуальной машины Java. Примечание: Этот объект потока может быть стандартным объектом потока Java или пользовательским подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— объектjava.io.InputStream, содержащий значение параметра Unicode -
length— количество байтов в потоке - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает этот метод
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
LONGVARBINARY вводится очень большое двоичное значение, может быть удобнее передать его с помощью объекта java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. Примечание: Этот объект потока может быть стандартным объектом потока Java или пользовательским подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий двоичное значение параметра -
length— количество байтов в потоке - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
clearParameters
void clearParameters() throws SQLException
Как правило, значения параметров сохраняются при повторном использовании оператора. При установке значения параметра его предыдущее значение автоматически удаляется. Однако в некоторых случаях полезно немедленно освободить ресурсы, используемые текущими значениями параметров; для этого можно вызвать метод clearParameters.
- Вызывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setObject
void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength), за исключением того, что предполагает масштаб, равный нулю.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL (определенный в java.sql.Types), который будет передан в базу данных - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытого PreparedStatement -
SQLFeatureNotSupportedException— если JDBC-драйвер не поддерживает указанный targetSqlType - См. также:
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. Для обеспечения максимальной переносимости вместо setObject(int parameterIndex, Object x) следует использовать метод setNull или setObject(int parameterIndex, Object x, int sqlType).
Примечание: Этот метод вызывает исключение при неоднозначности, например если объект принадлежит классу, реализующему более одного из перечисленных выше интерфейсов.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— объект, содержащий значение входного параметра - Вызывает:
-
SQLException— если parameterIndex не соответствует маркеру параметра в SQL-операторе; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили тип заданного объекта неоднозначен
execute
boolean execute() throws SQLException
PreparedStatement, которым может быть SQL-оператор любого типа. Некоторые подготовленные операторы возвращают несколько результатов; метод execute обрабатывает такие сложные операторы, а также более простые варианты операторов, обрабатываемые методами executeQuery и executeUpdate. Метод execute возвращает boolean, указывающий тип первого результата. Для получения результата необходимо вызвать метод getResultSet или getUpdateCount; для перехода к последующим результатам необходимо вызвать getMoreResults.
- Возвращает:
-
true, если первый результат — объектResultSet;false, если первый результат — количество обновленных строк или результат отсутствует - Вызывает:
-
SQLException— если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили ему передан аргумент -
SQLTimeoutException— если драйвер определил, что превышено значение времени ожидания, заданное методомsetQueryTimeout, и по крайней мере попытался отменить выполняющийся в данный моментStatement - См. также:
addBatch
void addBatch() throws SQLException
PreparedStatement.- Вызывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - Начиная с версии:
- 1.2
- См. также:
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
Reader, содержащий указанное количество символов. Если в параметр LONGVARCHAR вводится очень большое значение UNICODE, может быть удобнее передать его с помощью объекта 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, указанное значение typeName игнорируется.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
sqlType— значение изjava.sql.Types -
typeName— полное имя пользовательского типа SQL; игнорируется, если параметр не является пользовательским типом или типом REF - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— еслиsqlTypeявляется типом данныхARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXMLилиSTRUCT, а драйвер JDBC не поддерживает этот тип данных, либо если драйвер JDBC не поддерживает этот метод - С версии:
- 1.2
setURL
void setURL(int parameterIndex, URL x) throws SQLException
java.net.URL. При отправке значения в базу данных драйвер преобразует его в значение SQL DATALINK.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— объектjava.net.URL, который необходимо установить - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.4
getParameterMetaData
ParameterMetaData getParameterMetaData() throws SQLException
PreparedStatement.- Возвращает:
- объект
ParameterMetaData, содержащий сведения о количестве, типах и свойствах каждого маркера параметра объектаPreparedStatement - Исключения:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С версии:
- 1.4
- См. также:
setRowId
void setRowId(int parameterIndex, RowId x) throws SQLException
java.sql.RowId. При отправке значения в базу данных драйвер преобразует его в значение SQL ROWID.- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— значение параметра - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNString
void setNString(int parameterIndex, String value) throws SQLException
String. При отправке значения в базу данных драйвер преобразует его в значение SQL NCHAR, NVARCHAR или LONGNVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения NVARCHAR).- Параметры:
-
parameterIndex— номер первого параметра — 1, второго — 2 и т. д. -
value— значение параметра - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader. Объект Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из символьного формата Java в национальный набор символов базы данных.- Параметры:
-
parameterIndex— номер первого параметра — 1, второго — 2 и т. д. -
value— значение параметра -
length— количество символов в данных параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNClob
void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob. При отправке значения в базу данных драйвер преобразует его в значение SQL NCLOB.- Параметры:
-
parameterIndex— номер первого параметра — 1, второго — 2 и т. д. -
value— значение параметра - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setClob
void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader. Считыватель должен содержать указанное в length количество символов, иначе при выполнении PreparedStatement будет сгенерировано SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что сообщает драйверу: значение параметра следует отправить на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться дополнительная обработка, чтобы определить, следует ли отправить данные параметра на сервер как LONGVARCHAR или как CLOB
- Параметры:
-
parameterIndex— индекс первого параметра — 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые будут установлены в качестве значения параметра. -
length— количество символов в данных параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили если указана длина меньше нуля. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setBlob
void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException
InputStream. Объект Inputstream должен содержать указанное в length количество символов, иначе при выполнении PreparedStatement будет сгенерировано SQLException. Этот метод отличается от метода setBinaryStream (int, InputStream, int) тем, что сообщает драйверу: значение параметра следует отправить на сервер как BLOB. При использовании метода setBinaryStream драйверу может потребоваться дополнительная обработка, чтобы определить, следует ли отправить данные параметра на сервер как LONGVARBINARY или как BLOB
- Параметры:
-
parameterIndex— индекс первого параметра — 1, второго — 2 и т. д. -
inputStream— объект, содержащий данные, которые будут установлены в качестве значения параметра. -
length— количество байтов в данных параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatement; если указанная длина меньше нуля или количество байтов вInputStreamне соответствует указанной длине. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNClob
void setNClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader. Считыватель должен содержать указанное в length количество символов, иначе при выполнении PreparedStatement будет сгенерировано SQLException. Этот метод отличается от метода setCharacterStream (int, Reader, int) тем, что сообщает драйверу: значение параметра следует отправить на сервер как NCLOB. При использовании метода setCharacterStream драйверу может потребоваться дополнительная обработка, чтобы определить, следует ли отправить данные параметра на сервер как LONGNVARCHAR или как NCLOB
- Параметры:
-
parameterIndex— индекс первого параметра — 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые будут установлены в качестве значения параметра. -
length— количество символов в данных параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если указанная длина меньше нуля; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setSQLXML
void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML. При отправке значения в базу данных драйвер преобразует его в значение SQL XML.- Параметры:
-
parameterIndex— индекс первого параметра — 1, второго — 2 и т. д. -
xmlObject— объектSQLXML, представляющий значение SQLXML - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили если для объектаSQLXMLне закрытыjava.xml.transform.Result,WriterилиOutputStream -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 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.
Обратите внимание: этот метод можно использовать для передачи абстрактных типов данных, специфичных для конкретной базы данных.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL (определенный в java.sql.Types), который будет передан базе данных. Аргумент scale может дополнительно уточнять этот тип. -
scaleOrLength— дляjava.sql.Types.DECIMALилиjava.sql.Types.NUMERIC typesэто количество цифр после десятичной точки. Для типов объектов JavaInputStreamиReaderэто длина данных в потоке или считывателе. Для всех остальных типов это значение игнорируется. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили если указанный Java-объект x является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - См. также:
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARCHAR вводится очень большое значение ASCII, может быть удобнее передать его через java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из ASCII в символьный формат базы данных. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий значение параметра ASCII -
length— количество байтов в потоке - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С версии:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException
LONGVARBINARY вводится очень большое двоичное значение, может быть удобнее передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий двоичное значение параметра -
length— количество байтов в потоке - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С версии:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException
Reader, содержащий указанное количество символов. Если в параметр LONGVARCHAR вводится очень большое значение UNICODE, может быть удобнее передать его через объект java.io.Reader. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из UNICODE в символьный формат базы данных. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
reader— объектjava.io.Reader, содержащий данные Unicode -
length— количество символов в потоке - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С версии:
- 1.6
setAsciiStream
void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
LONGVARCHAR вводится очень большое значение ASCII, может быть удобнее передать его через java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из ASCII в символьный формат базы данных. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, эффективнее ли использовать версию setAsciiStream, принимающую параметр длины.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий значение параметра ASCII - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
LONGVARBINARY вводится очень большое двоичное значение, может быть удобнее передать его через объект java.io.InputStream. Данные считываются из потока по мере необходимости до достижения конца файла. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, эффективнее ли использовать версию setBinaryStream, принимающую параметр длины.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
x— входной поток Java, содержащий двоичное значение параметра - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
Reader. Если в параметр LONGVARCHAR вводится очень большое значение UNICODE, может быть удобнее передать его через объект java.io.Reader. Данные считываются из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит все необходимые преобразования из UNICODE в символьный формат базы данных. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, эффективнее ли использовать версию setCharacterStream, принимающую параметр длины.
- Параметры:
-
parameterIndex— первый параметр имеет номер 1, второй — 2 и т. д. -
reader— объектjava.io.Reader, содержащий данные Unicode - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setNCharacterStream
void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
Reader. Объект Reader считывает данные до достижения конца файла. Драйвер выполняет необходимое преобразование из символьного формата Java в национальный набор символов базы данных. Примечание: Этим объектом потока может быть стандартный объект потока Java или ваш собственный подкласс, реализующий стандартный интерфейс.
Примечание: Обратитесь к документации драйвера JDBC, чтобы узнать, эффективнее ли использовать версию setNCharacterStream, принимающую параметр длины.
- Параметры:
-
parameterIndex— номер первого параметра — 1, второго — 2 и т. д. -
value— значение параметра - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - С версии:
- 1.6
setClob
void setClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу: значение параметра следует отправить на сервер как CLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправлять данные параметра на сервер как LONGVARCHAR или как CLOB Примечание: Обратитесь к документации драйвера JDBC, чтобы определить, может ли оказаться эффективнее использовать версию setClob, принимающую параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые следует установить в качестве значения параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили если parameterIndex не соответствует маркеру параметра в инструкции SQL -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.6
setBlob
void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream. Этот метод отличается от метода setBinaryStream (int, InputStream) тем, что сообщает драйверу: значение параметра следует отправить на сервер как BLOB. При использовании метода setBinaryStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправлять данные параметра на сервер как LONGVARBINARY или как BLOB Примечание: Обратитесь к документации драйвера JDBC, чтобы определить, может ли оказаться эффективнее использовать версию setBlob, принимающую параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
inputStream— объект, содержащий данные, которые следует установить в качестве значения параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных; если этот метод вызван для закрытогоPreparedStatementили если parameterIndex не соответствует маркеру параметра в инструкции SQL, -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.6
setNClob
void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader. Этот метод отличается от метода setCharacterStream (int, Reader) тем, что сообщает драйверу: значение параметра следует отправить на сервер как NCLOB. При использовании метода setCharacterStream драйверу может потребоваться выполнить дополнительную работу, чтобы определить, следует ли отправлять данные параметра на сервер как LONGNVARCHAR или как NCLOB Примечание: Обратитесь к документации драйвера JDBC, чтобы определить, может ли оказаться эффективнее использовать версию setNClob, принимающую параметр длины.
- Параметры:
-
parameterIndex— индекс первого параметра равен 1, второго — 2 и т. д. -
reader— объект, содержащий данные, которые следует установить в качестве значения параметра. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если драйвер не поддерживает национальные наборы символов; если драйвер может определить, что возможно возникновение ошибки преобразования данных; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.6
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException
Устанавливает значение указанного параметра с помощью заданного объекта. Если второй аргумент — InputStream, поток должен содержать число байтов, указанное в scaleOrLength. Если второй аргумент — Reader, средство чтения должно содержать число символов, указанное в scaleOrLength. Если эти условия не выполнены, драйвер создаст SQLException при выполнении подготовленной инструкции.
Перед отправкой в базу данных заданный объект Java будет преобразован к указанному targetSqlType. Если для объекта задано пользовательское сопоставление (он принадлежит классу, реализующему интерфейс SQLData), драйвер JDBC должен вызвать метод SQLData.writeSQL, чтобы записать его в поток данных SQL. Если же объект принадлежит классу, реализующему Ref, Blob, Clob, NClob, Struct, java.net.URL или Array, драйвер должен передать его в базу данных как значение соответствующего типа SQL.
Обратите внимание, что этот метод можно использовать для передачи абстрактных типов данных, специфичных для базы данных.
Реализация по умолчанию выбрасывает SQLFeatureNotSupportedException
- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных. Аргумент scale может дополнительно уточнять этот тип. -
scaleOrLength— дляjava.sql.JDBCType.DECIMALилиjava.sql.JDBCType.NUMERIC typesэто число цифр после десятичной точки. Для типов объектов JavaInputStreamиReaderэто длина данных в потоке или средстве чтения. Для всех остальных типов это значение игнорируется. - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement; или если объект Java, указанный в x, является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Начиная с версии:
- 1.8
- См. также:
setObject
default void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException
setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength), за исключением того, что предполагает значение scale, равное нулю. Реализация по умолчанию выбрасывает SQLFeatureNotSupportedException
- Параметры:
-
parameterIndex— первый параметр — 1, второй — 2 и т. д. -
x— объект, содержащий значение входного параметра -
targetSqlType— тип SQL, который будет отправлен в базу данных - Исключения:
-
SQLException— если parameterIndex не соответствует маркеру параметра в инструкции SQL; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает указанный targetSqlType - Начиная с версии:
- 1.8
- См. также:
executeLargeUpdate
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, 2025, 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.
setCharacterStream