Интерфейс PreparedStatement
- Все суперинтерфейсы:
-
AutoCloseable,Statement,Wrapper
- Все известные подинтерфейсы:
CallableStatement
public interface PreparedStatement extends Statement
Объект, представляющий предопределённое SQL-выражение.
SQL-выражение предварительно компилируется и сохраняется в объекте PreparedStatement. Этот объект может затем использоваться для эффективного многократного выполнения этого выражения.
Примечание: Методы-сеттеры (setShort, setString, и так далее) для задания значений параметров IN должны указывать типы, совместимые с определённым SQL-типом входного параметра. Например, если параметр IN имеет SQL-тип INTEGER, то следует использовать метод setInt.
Если требуются произвольные преобразования типов параметров, следует использовать метод setObject с целевым SQL-типом.
В следующем примере установки параметра con представляет собой активное подключение:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
- С:
- 1.1
- См. также:
-
Connection.prepareStatement(java.lang.String),ResultSet
Поля
Поля, объявленные в интерфейсе java.sql.Statement
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | addBatch() | Добавляет набор параметров к пакету команд объекта |
void | clearParameters() | Очищает текущие значения параметров немедленно. |
boolean | execute() | Выполняет SQL-запрос в этом объекте |
default long | executeLargeUpdate() | Выполняет SQL-запрос в этом объекте |
ResultSet | executeQuery() | Выполняет SQL-запрос в этом объекте |
int | executeUpdate() | Выполняет SQL-запрос в этом объекте |
ResultSetMetaData | getMetaData() | Возвращает объект |
ParameterMetaData | getParameterMetaData() | Возвращает количество, типы и свойства параметров объекта |
void | setArray(int parameterIndex,
Array x) | Устанавливает указанный параметр в заданный объект |
void | setAsciiStream(int parameterIndex,
InputStream x) | Устанавливает указанный параметр в заданный поток ввода. |
void | setAsciiStream(int parameterIndex,
InputStream x,
int length) | Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. |
void | setAsciiStream(int parameterIndex,
InputStream x,
long length) | Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. |
void | setBigDecimal(int parameterIndex,
BigDecimal x) | Устанавливает указанный параметр в заданное значение |
void | setBinaryStream(int parameterIndex,
InputStream x) | Устанавливает указанный параметр в заданный поток ввода. |
void | setBinaryStream(int parameterIndex,
InputStream x,
int length) | Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. |
void | setBinaryStream(int parameterIndex,
InputStream x,
long length) | Устанавливает указанный параметр в заданный поток ввода, который будет содержать указанное количество байтов. |
void | setBlob(int parameterIndex,
InputStream inputStream) | Устанавливает указанный параметр в объект |
void | setBlob(int parameterIndex,
InputStream inputStream,
long length) | Устанавливает указанный параметр в объект |
void | setBlob(int parameterIndex,
Blob x) | Устанавливает указанный параметр в заданный объект |
void | setBoolean(int parameterIndex,
boolean x) | Устанавливает указанный параметр в заданное значение Java |
void | setByte(int parameterIndex,
byte x) | Устанавливает указанный параметр в заданное значение Java |
void | setBytes(int parameterIndex,
byte[] x) | Устанавливает указанный параметр в заданный массив байтов Java. |
void | setCharacterStream(int parameterIndex,
Reader reader) | Устанавливает указанный параметр в заданный объект |
void | setCharacterStream(int parameterIndex,
Reader reader,
int length) | Устанавливает указанный параметр в заданный объект |
void | setCharacterStream(int parameterIndex,
Reader reader,
long length) | Устанавливает указанный параметр в заданный объект |
void | setClob(int parameterIndex,
Reader reader) | Устанавливает указанный параметр в объект |
void | setClob(int parameterIndex,
Reader reader,
long length) | Устанавливает указанный параметр в объект |
void | setClob(int parameterIndex,
Clob x) | Устанавливает указанный параметр в заданный объект |
void | setDate(int parameterIndex,
Date x) | Устанавливает указанный параметр в заданное значение |
void | setDate(int parameterIndex,
Date x,
Calendar cal) | Устанавливает указанный параметр в заданное значение |
void | setDouble(int parameterIndex,
double x) | Устанавливает указанный параметр в заданное значение Java |
void | setFloat(int parameterIndex,
float x) | Устанавливает указанный параметр в заданное значение Java |
void | setInt(int parameterIndex,
int x) | Устанавливает указанный параметр в заданное значение Java |
void | setLong(int parameterIndex,
long x) | Устанавливает указанный параметр в заданное значение Java |
void | setNCharacterStream(int parameterIndex,
Reader value) | Устанавливает указанный параметр в объект |
void | setNCharacterStream(int parameterIndex,
Reader value,
long length) | Устанавливает указанный параметр в объект |
void | setNClob(int parameterIndex,
Reader reader) | Устанавливает указанный параметр в объект |
void | setNClob(int parameterIndex,
Reader reader,
long length) | Устанавливает указанный параметр в объект |
void | setNClob(int parameterIndex,
NClob value) | Устанавливает указанный параметр в объект |
void | setNString(int parameterIndex,
String value) | Устанавливает указанный параметр в заданный объект |
void | setNull(int parameterIndex,
int sqlType) | Устанавливает указанный параметр в SQL |
void | setNull(int parameterIndex,
int sqlType,
String typeName) | Устанавливает указанный параметр в SQL |
void | setObject(int parameterIndex,
Object x) | Устанавливает значение указанного параметра, используя заданный объект. |
void | setObject(int parameterIndex,
Object x,
int targetSqlType) | Устанавливает значение указанного параметра с помощью заданного объекта. |
void | setObject(int parameterIndex,
Object x,
int targetSqlType,
int scaleOrLength) | Устанавливает значение указанного параметра с помощью заданного объекта. |
default void | setObject(int parameterIndex,
Object x,
SQLType targetSqlType) | Устанавливает значение указанного параметра с помощью заданного объекта. |
default void | setObject(int parameterIndex,
Object x,
SQLType targetSqlType,
int scaleOrLength) | Устанавливает значение указанного параметра с помощью заданного объекта. |
void | setRef(int parameterIndex,
Ref x) | Устанавливает указанный параметр в заданное значение |
void | setRowId(int parameterIndex,
RowId x) | Устанавливает указанный параметр в заданный объект |
void | setShort(int parameterIndex,
short x) | Устанавливает указанный параметр в заданное значение Java |
void | setSQLXML(int parameterIndex,
SQLXML xmlObject) | Устанавливает указанный параметр в заданный объект |
void | setString(int parameterIndex,
String x) | Устанавливает указанный параметр в заданное значение Java |
void | setTime(int parameterIndex,
Time x) | Устанавливает указанный параметр в заданное значение |
void | setTime(int parameterIndex,
Time x,
Calendar cal) | Устанавливает указанный параметр в заданное значение |
void | setTimestamp(int parameterIndex,
Timestamp x) | Устанавливает указанный параметр в заданное значение |
void | setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal) | Устанавливает указанный параметр в заданное |
|---|---|---|
void | setUnicodeStream(int parameterIndex,
InputStream x,
int length) | Устарело. Используйте setCharacterStream
|
void | setURL(int parameterIndex,
URL x) | Устанавливает указанный параметр в заданное |
Методы, объявленные в интерфейсе java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, enquoteIdentifier, enquoteLiteral, enquoteNCharLiteral, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isSimpleIdentifier, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout Методы, объявленные в интерфейсе java.sql.Wrapper
isWrapperFor, unwrap Методы
executeQuery
ResultSet executeQuery()
throws SQLException Выполняет SQL-запрос в этом объекте PreparedStatement и возвращает объект ResultSet, созданный запросом.
- Возвращает:
- объект
ResultSet, содержащий данные, полученные в результате запроса; никогда неnull - Исключения:
-
SQLException- если возникает ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatementили SQL-запрос не возвращает объектResultSet -
SQLTimeoutException- когда драйвер определил, что значение времени ожидания, указанное методомsetQueryTimeout, было превышено, и по крайней мере попытался отменить текущий запущенныйStatement
executeUpdate
int executeUpdate()
throws SQLException Выполняет SQL-запрос в этом объекте PreparedStatement, который должен быть оператором SQL Data Manipulation Language (DML), таким как INSERT, UPDATE или DELETE; или оператор SQL, который ничего не возвращает, например, оператор DDL.
- Возвращает:
- либо (1) количество строк для операторов SQL Data Manipulation Language (DML), либо (2) 0 для операторов SQL, которые ничего не возвращают
- Исключения:
-
SQLException- если возникает ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatementили SQL-запрос возвращает объектResultSet -
SQLTimeoutException- когда драйвер определил, что значение времени ожидания, указанное методомsetQueryTimeout, было превышено, и по крайней мере попытался отменить текущий запущенныйStatement
setNull
void setNull(int parameterIndex,
int sqlType)
throws SQLException Устанавливает назначенный параметр в SQL NULL.
Примечание: Необходимо указать SQL-тип параметра.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
sqlType- код типа SQL, определенный вjava.sql.Types - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement -
SQLFeatureNotSupportedException- еслиsqlTypeявляется типом данныхARRAY,BLOB,CLOB,DATALINK,JAVA_OBJECT,NCHAR,NCLOB,NVARCHAR,LONGNVARCHAR,REF,ROWID,SQLXMLилиSTRUCT, и JDBC-драйвер не поддерживает этот тип данных
setBoolean
void setBoolean(int parameterIndex,
boolean x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java boolean. Драйвер преобразует это значение в SQL BIT или BOOLEAN, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setByte
void setByte(int parameterIndex,
byte x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java byte. Драйвер преобразует это значение в SQL TINYINT, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setShort
void setShort(int parameterIndex,
short x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java short. Драйвер преобразует это значение в SQL SMALLINT, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setInt
void setInt(int parameterIndex,
int x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java int. Драйвер преобразует это значение в SQL INTEGER, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setLong
void setLong(int parameterIndex,
long x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java long. Драйвер преобразует это значение в SQL BIGINT, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setFloat
void setFloat(int parameterIndex,
float x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java float. Драйвер преобразует это значение в SQL REAL, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setDouble
void setDouble(int parameterIndex,
double x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java double. Драйвер преобразует это значение в SQL DOUBLE, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setBigDecimal
void setBigDecimal(int parameterIndex,
BigDecimal x)
throws SQLException Устанавливает назначенный параметр в указанное значение java.math.BigDecimal. Драйвер преобразует это значение в SQL NUMERIC, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setString
void setString(int parameterIndex,
String x)
throws SQLException Устанавливает назначенный параметр в указанное значение Java String. Драйвер преобразует это значение в SQL VARCHAR или LONGVARCHAR (в зависимости от размера аргумента относительно ограничений драйвера на значения VARCHAR ), когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setBytes
void setBytes(int parameterIndex,
byte[] x)
throws SQLException Устанавливает назначенный параметр в указанный массив байтов Java. Драйвер преобразует это значение в SQL VARBINARY или LONGVARBINARY (в зависимости от размера аргумента относительно ограничений драйвера на значения VARBINARY ), когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setDate
void setDate(int parameterIndex,
Date x)
throws SQLException Устанавливает назначенный параметр в указанное значение java.sql.Date с использованием часового пояса по умолчанию виртуальной машины, которая запускает приложение. Драйвер преобразует это значение в SQL DATE, когда отправляет его в базу данных.
- Параметры:
-
parameterIndex- первый параметр — 1, второй — 2 и т. д. -
x- значение параметра - Исключения:
-
SQLException- если parameterIndex не соответствует маркера параметра в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement
setTime
void setTime(int parameterIndex,
Time x)
throws SQLException Устанавливает назначенный параметр в указанное значение 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 Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого ASCII-значения в параметр LONGVARCHAR может быть удобнее передавать его через 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
Устанавливает указанный параметр в заданный поток ввода, имеющий указанное количество байтов. При вводе очень большого Unicode-значения в параметр LONGVARCHAR может быть удобнее передавать его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости до достижения конца файла. Драйвер JDBC выполнит необходимые преобразования из Unicode в формат символов базы данных. Формат байтов потока Unicode должен быть Java UTF-8, как определено в спецификации Java Virtual Machine.
Примечание: Этот объект потока может быть стандартным объектом 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 - См. также:
Types
setObject
void setObject(int parameterIndex,
Object x)
throws SQLException Устанавливает значение указанного параметра, используя данный объект.
Спецификация JDBC определяет стандартное отображение типов Java Object в типы SQL. Переданный аргумент будет преобразован в соответствующий тип SQL перед отправкой в базу данных.
Обратите внимание, что этот метод может использоваться для передачи типов абстрактных данных, специфичных для базы данных, с использованием типа Java, специфичного для драйвера. Если объект является классом, реализующим интерфейс SQLData, JDBC-драйвер должен вызвать метод SQLData.writeSQL для записи его в SQL-поток данных. Если же объект является классом, реализующим Ref, Blob, Clob, NClob, Struct, java.net.URL, RowId, SQLXML или Array, драйвер должен передать его в базу данных в качестве значения соответствующего типа SQL.
Примечание: Не все базы данных позволяют передавать нетипизированный Null в бэкенд. Для максимальной переносимости следует использовать метод setNull или метод setObject(int parameterIndex, Object x, int sqlType) вместо setObject(int parameterIndex, Object x).
Примечание: Этот метод вызывает исключение, если возникает неоднозначность, например, если объект реализует более одного из перечисленных выше интерфейсов.
- Параметры:
-
parameterIndex- первый параметр равен 1, второй — 2 и так далее. -
x- объект, содержащий входное значение параметра. - Исключения:
-
SQLException- если параметр parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили тип данного объекта является неоднозначным.
execute
boolean execute()
throws SQLException Выполняет SQL-запрос в этом объекте PreparedStatement, который может быть любым типом SQL-запроса. Некоторые подготовленные операторы возвращают несколько результатов; метод execute обрабатывает эти сложные запросы, а также более простой вид запросов, обрабатываемых методами executeQuery и executeUpdate.
Метод execute возвращает boolean для указания формы первого результата. Для получения результата необходимо вызвать метод getResultSet или getUpdateCount; для перехода к последующим результатам необходимо вызвать getMoreResults.
- Возвращает:
-
trueесли первый результат — объектResultSet;falseесли первый результат — количество обновлений или нет результата - Исключения:
-
SQLException- если произошла ошибка доступа к базе данных; этот метод вызван для закрытогоPreparedStatementили аргумент предоставлен этому методу -
SQLTimeoutException- когда драйвер определил, что значение таймаута, указанное методомsetQueryTimeout, было превышено, и, по крайней мере, предпринял попытку отменить текущий запускStatement - См. также:
-
Statement.execute(java.lang.String),Statement.getResultSet(),Statement.getUpdateCount(),Statement.getMoreResults()
addBatch
void addBatch()
throws SQLException Добавляет набор параметров в пакет команд этого объекта PreparedStatement.
- Исключения:
-
SQLException- если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С момента:
- 1.2
- См. также:
Statement.addBatch(java.lang.String)
setCharacterStream
void setCharacterStream(int parameterIndex,
Reader reader,
int length)
throws SQLException Устанавливает указанный параметр в заданный объект Reader, который имеет заданное количество символов. При вводе очень большого UNICODE-значения в параметр LONGVARCHAR может быть удобнее передавать его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости до достижения конца файла. JDBC-драйвер выполнит необходимые преобразования из UNICODE в формат символов базы данных.
Примечание: Этот объект потока может быть стандартным объектом Java-потока или собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex- первый параметр равен 1, второй — 2 и так далее. -
reader- объектjava.io.Reader, содержащий данные Unicode. -
length- количество символов в потоке. - Исключения:
-
SQLException- если параметр parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement - С момента:
- 1.2
setRef
void setRef(int parameterIndex,
Ref x)
throws SQLException Устанавливает указанный параметр в заданное значение REF(<structured-type>). Драйвер преобразует это в значение SQL REF при отправке в базу данных.
- Параметры:
-
parameterIndex- первый параметр равен 1, второй равен 2, и т. д. -
x- значение 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 Устанавливает указанный параметр в SQL NULL. Данная версия метода setNull должна использоваться для параметров пользовательских типов и REF. Примеры пользовательских типов: STRUCT, DISTINCT, JAVA_OBJECT и именованные массивы.
Примечание: Для обеспечения переносимости приложения необходимо указывать код типа SQL и полное имя типа SQL при указании параметра NULL пользовательского типа или REF. В случае пользовательского типа имя — это имя типа самого параметра. Для параметра REF имя — это имя типа ссылаемого типа. Если JDBC-драйверу не требуется информация о коде типа или имени типа, он может ее проигнорировать. Хотя этот метод предназначен для пользовательских и REF параметров, он может использоваться для установки нулевого параметра любого 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
- См. также:
ParameterMetaData
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. Чтец должен содержать указанное количество символов, иначе при выполнении 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 должен содержать указанное количество байтов, иначе при выполнении 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. Чтец должен содержать указанное количество символов, иначе при выполнении 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илиjava.xml.transform.Result,WriterилиOutputStreamне был закрыт для объектаSQLXML -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - С:
- 1.6
setObject
void setObject(int parameterIndex,
Object x,
int targetSqlType,
int scaleOrLength)
throws SQLException Устанавливает значение указанного параметра с помощью данного объекта. Если второй аргумент - InputStream, то поток должен содержать указанное количество байтов по масштабу или длине. Если второй аргумент - Reader, то читатель должен содержать указанное количество символов по масштабу или длине. Если эти условия не выполняются, драйвер сгенерирует 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 ObjectInputStreamиReader, это длина данных в потоке или ридере. Для всех остальных типов это значение будет игнорироваться. - Throws:
-
SQLException- если parameterIndex не соответствует параметрическому маркеру в операторе SQL; если возникает ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatementили если объект Java, указанный x, является объектом InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает указанный targetSqlType - See Also:
Types
setAsciiStream
void setAsciiStream(int parameterIndex,
InputStream x,
long length)
throws SQLException Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов. При вводе очень большого значения ASCII в параметр LONGVARCHAR, может быть более практичным отправить его через java.io.InputStream. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла. JDBC-драйвер выполнит любое необходимое преобразование из ASCII в формат символов базы данных.
Примечание: Этот объект потока может быть либо стандартным объектом потока Java, либо вашим собственным подклассом, который реализует стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр равен 1, второй — 2 и т.д. -
x- входной поток Java, содержащий значение ASCII-параметра -
length- количество байтов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует параметрическому маркеру в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - Since:
- 1.6
setBinaryStream
void setBinaryStream(int parameterIndex,
InputStream x,
long length)
throws SQLException Устанавливает указанный параметр в заданный входной поток, который будет иметь указанное количество байтов. При вводе очень большого двоичного значения в параметр LONGVARBINARY, может быть более практичным отправить его через объект java.io.InputStream. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла.
Примечание: Этот объект потока может быть либо стандартным объектом потока Java, либо вашим собственным подклассом, который реализует стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр равен 1, второй — 2 и т.д. -
x- входной поток Java, содержащий двоичное значение параметра -
length- количество байтов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует параметрическому маркеру в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - Since:
- 1.6
setCharacterStream
void setCharacterStream(int parameterIndex,
Reader reader,
long length)
throws SQLException Устанавливает указанный параметр в заданный объект Reader, который имеет указанное количество символов. При вводе очень большого значения UNICODE в параметр LONGVARCHAR, может быть более практичным отправить его через объект java.io.Reader. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла. JDBC-драйвер выполнит любое необходимое преобразование из UNICODE в формат символов базы данных.
Примечание: Этот объект потока может быть либо стандартным объектом потока Java, либо вашим собственным подклассом, который реализует стандартный интерфейс.
- Parameters:
-
parameterIndex- первый параметр равен 1, второй — 2 и т.д. -
reader- объектjava.io.Reader, содержащий данные Unicode -
length- количество символов в потоке - Throws:
-
SQLException- если parameterIndex не соответствует параметрическому маркеру в операторе SQL; если возникает ошибка доступа к базе данных или этот метод вызывается для закрытогоPreparedStatement - Since:
- 1.6
setAsciiStream
void setAsciiStream(int parameterIndex,
InputStream x)
throws SQLException Устанавливает указанный параметр в заданный входной поток. При вводе очень большого значения ASCII в параметр LONGVARCHAR, может быть более практичным отправить его через java.io.InputStream. Данные будут считываться из потока по мере необходимости, пока не будет достигнут конец файла. JDBC-драйвер выполнит любое необходимое преобразование из ASCII в формат символов базы данных.
Примечание: Этот объект потока может быть либо стандартным объектом потока Java, либо вашим собственным подклассом, который реализует стандартный интерфейс.
Примечание: Обратитесь к документации по вашему 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 Устанавливает указанный параметр в заданный входной поток. При вводе очень большого двоичного значения в параметр LONGVARBINARY, может быть более практичным отправить его через объект 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, принимающую параметр длины.
- Параметры:
-
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, это количество цифр после десятичной точки. Для типов Java ObjectInputStreamиReader, это длина данных в потоке или потоке чтения. Для всех других типов это значение будет проигнорировано. - Исключения:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван на закрытомPreparedStatement, или если Java-объект, указанный x, представляет собой объект InputStream или Reader, а значение параметра scale меньше нуля -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает указанный targetSqlType - С:
- 1.8
- См. также:
-
JDBCType,SQLType
setObject
default void setObject(int parameterIndex,
Object x,
SQLType targetSqlType)
throws SQLException Устанавливает значение указанного параметра с помощью данного объекта. Этот метод аналогичен setObject(int parameterIndex,
Object x, SQLType targetSqlType, int scaleOrLength), за исключением того, что он предполагает масштаб нуль.
Реализация по умолчанию будет выбрасывать SQLFeatureNotSupportedException
- Параметры:
-
parameterIndex- первый параметр равен 1, второй - 2 и т.д. -
x- объект, содержащий значение входного параметра -
targetSqlType- тип SQL, который будет отправлен в базу данных - Исключения:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван на закрытомPreparedStatement -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает указанный targetSqlType - С:
- 1.8
- См. также:
-
JDBCType,SQLType
executeLargeUpdate
default long executeLargeUpdate()
throws SQLException Выполняет SQL-запрос в этом объекте PreparedStatement, который должен быть SQL-запросом языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-запрос, который ничего не возвращает, например, запрос DDL.
Этот метод следует использовать, когда количество возвращенных строк может превысить Integer.MAX_VALUE.
Реализация по умолчанию будет выбрасывать UnsupportedOperationException
- Возвращает:
- либо (1) количество строк для SQL-запросов языка манипулирования данными (DML), либо (2) 0 для SQL-запросов, которые ничего не возвращают
- Исключения:
-
SQLException- если произошла ошибка доступа к базе данных; если этот метод вызван на закрытомPreparedStatementили SQL-запрос возвращает объектResultSet -
SQLTimeoutException- когда драйвер определил, что значение таймаута, заданное методомsetQueryTimeout, было превышено и по крайней мере предпринял попытку отменить текущее выполняемоеStatement - С:
- 1.8
© 1993, 2020, 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/11/docs/api/java.sql/java/sql/PreparedStatement.html