Интерфейс 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)
- См. также:
-
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,
Blob x) Устанавливает указанный параметр в заданный объект |
void |
setBlob(int parameterIndex,
InputStream inputStream) Устанавливает указанный параметр в объект |
void |
setBlob(int parameterIndex,
InputStream inputStream,
long length) Устанавливает указанный параметр в объект |
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,
Clob x) Устанавливает указанный параметр в заданный объект |
void |
setClob(int parameterIndex,
Reader reader) Устанавливает указанный параметр в объект |
void |
setClob(int parameterIndex,
Reader reader,
long length) Устанавливает указанный параметр в объект |
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,
NClob value) Устанавливает указанный параметр в объект |
void |
setNClob(int parameterIndex,
Reader reader) Устанавливает указанный параметр в объект |
void |
setNClob(int parameterIndex,
Reader reader,
long length) Устанавливает указанный параметр в объект |
void |
setNString(int parameterIndex,
String value) Устанавливает указанный параметр в заданный объект |
void |
setNull(int parameterIndex,
int sqlType) Устанавливает значение указанного параметра, используя данный объект. |
void |
setNull(int parameterIndex,
int sqlType,
String typeName) Устанавливает значение указанного параметра с помощью данного объекта. |
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) Устарело. Используйте |
void |
setURL(int parameterIndex,
URL x) Устанавливает указанный параметр в заданное значение |
Методы, унаследованные от интерфейса java.sql.Statement
addBatch, cancel, clearBatch, clearWarnings, close, closeOnCompletion, 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, 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 в формат char базы данных.
Примечание: Этот объект потока может быть стандартным объектом потока Java или вашим собственным подклассом, реализующим стандартный интерфейс.
- Параметры:
-
parameterIndex- первый параметр равен 1, второй — 2 и так далее. -
x- поток ввода Java, содержащий значение ASCII параметра. -
length- количество байтов в потоке. - Исключения:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоPreparedStatement
setUnicodeStream
@Deprecated
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 . Поток чтения должен содержать количество символов, указанное в length, в противном случае при выполнении PreparedStatement будет сгенерирована ошибка. Этот метод отличается от метода 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. Поток ввода должен содержать количество байтов, указанное в length, в противном случае при выполнении PreparedStatement будет сгенерирована ошибка. Этот метод отличается от метода setBinaryStream (int, InputStream, int), потому что он сообщает драйверу, что значение параметра должно быть отправлено на сервер как BLOB. При использовании метода setBinaryStream, драйверу может потребоваться выполнить дополнительные действия для определения, должны ли данные параметра быть отправлены на сервер как LONGVARBINARY или как BLOB
- Параметры:
-
parameterIndex- индекс первого параметра равен 1, второго - 2, и т. д. -
inputStream- Объект, содержащий данные для установки значения параметра. -
length- количество байтов в данных параметра. - Исключения:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызывается для закрытогоPreparedStatement; если указанная длина меньше нуля или количество байтов в потоке ввода не соответствует указанной длине. -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - С тех пор:
- 1.6
setNClob
void setNClob(int parameterIndex,
Reader reader,
long length)
throws SQLException Устанавливает указанный параметр в объект Reader . Поток чтения должен содержать количество символов, указанное в length, в противном случае при выполнении PreparedStatement будет сгенерирована ошибка. Этот метод отличается от метода 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, то поток должен содержать количество байтов, указанное параметром 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, это количество цифр после запятой. Для типов Java ObjectInputStreamиReader, это длина данных в потоке или ридере. Для всех других типов это значение будет проигнорировано. - Исключения:
-
SQLException- если parameterIndex не соответствует марке параметра в SQL-запросе; если произошла ошибка доступа к базе данных; этот метод вызван на закрытомPreparedStatementили если Java Object, указанный x, представляет собой объект InputStream или Reader, а значение параметра scale меньше нуля. -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает указанный targetSqlType. - См. также:
Types
setAsciiStream
void setAsciiStream(int parameterIndex,
InputStream x,
long length)
throws SQLException Устанавливает указанный параметр в заданный поток ввода, который будет иметь указанное количество байтов. Когда очень большое ASCII-значение вводится в параметр LONGVARCHAR, может быть более практично отправить его через 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, длина которого задана. Когда очень большое UNICODE-значение вводится в параметр LONGVARCHAR, может быть более практично отправить его через объект 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 Устанавливает указанный параметр в заданный поток ввода. Когда очень большое ASCII-значение вводится в параметр LONGVARCHAR, может быть более практично отправить его через 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. Когда очень большое UNICODE-значение вводится в параметр LONGVARCHAR, может быть более практично отправить его через объект 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, это число цифр после запятой. Для типов 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.