|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Statement extends Wrapper, AutoCloseable
Объект, используемый для того, чтобы выполнить статический SQL-оператор и возвратить результаты, это производит.
По умолчанию, только один ResultSet объект на Statement объект может быть открытым одновременно. Поэтому, если чтение одного ResultSet объект чередуется с чтением другого, каждый, должно быть, был сгенерирован различным Statement объекты. Все методы выполнения в Statement взаимодействуйте через интерфейс неявно закрывают ток statment ResultSet возразите, существует ли открытый.
Connection.createStatement(), ResultSet| Модификатор и Тип | Поле и Описание |
|---|---|
static int |
CLOSE_ALL_RESULTS
Постоянное указание, что все
ResultSet объекты, которые были ранее сохранены открытыми, должны быть закрыты, вызывая getMoreResults. |
static int |
CLOSE_CURRENT_RESULT
Постоянное указание, что ток
ResultSet объект должен быть закрыт, вызывая getMoreResults. |
static int |
EXECUTE_FAILED
Постоянное указание, что ошибка произошла, выполняя пакетный оператор.
|
static int |
KEEP_CURRENT_RESULT
Постоянное указание, что ток
ResultSet объект не должен быть закрыт, вызывая getMoreResults. |
static int |
NO_GENERATED_KEYS
Постоянное указание, которое генерировало ключи, не должно быть сделано доступным для извлечения.
|
static int |
RETURN_GENERATED_KEYS
Постоянное указание, которое генерировало ключи, должно быть сделано доступным для извлечения.
|
static int |
SUCCESS_NO_INFO
Постоянное указание, что пакетный оператор выполнился успешно, но что никакое количество числа строк он влиял, доступно.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
addBatch(String sql)
Добавляет данная команда SQL к текущему списку commmands для этого
Statement объект. |
void |
cancel()
Отмены это
Statement возразите если и DBMS и поддержка драйвера, прерывающая SQL-оператор. |
void |
clearBatch()
Освобождает это
Statement текущий список объекта команд SQL. |
void |
clearWarnings()
Очищает все предупреждения, о которых сообщают относительно этого
Statement объект. |
void |
close()
Выпуски это
Statement база данных объекта и ресурсы JDBC сразу вместо того, чтобы ожидать этого, чтобы произойти, когда это автоматически закрывается. |
void |
closeOnCompletion()
Определяет что это
Statement будет закрыт, когда все его зависимые наборы результатов закрываются. |
boolean |
execute(String sql)
Выполняет данный SQL-оператор, который может возвратить многократные результаты.
|
boolean |
execute(String sql, int autoGeneratedKeys)
Выполняет данный SQL-оператор, который может возвратить многократные результаты, и сигнализирует драйвер, что любые автоматически сгенерированные ключи должны быть сделаны доступными для извлечения.
|
boolean |
execute(String sql, int[] columnIndexes)
Выполняет данный SQL-оператор, который может возвратить многократные результаты, и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
boolean |
execute(String sql, String[] columnNames)
Выполняет данный SQL-оператор, который может возвратить многократные результаты, и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
int[] |
executeBatch()
Представляет пакет команд к базе данных для выполнения и если все команды выполняются успешно, возвращает массив количеств обновления.
|
default long[] |
executeLargeBatch()
Представляет пакет команд к базе данных для выполнения и если все команды выполняются успешно, возвращает массив количеств обновления.
|
default long |
executeLargeUpdate(String sql)
Выполняет данный SQL-оператор, который может быть
INSERT, UPDATE, или DELETE оператор или SQL-оператор, который ничего не возвращает, такого как оператор DDL SQL. |
default long |
executeLargeUpdate(String sql, int autoGeneratedKeys)
Выполняет данный SQL-оператор и сигнализирует драйвер с данным флагом о ли автоматически сгенерированные ключи, произведенные этим
Statement объект должен быть сделан доступным для извлечения. |
default long |
executeLargeUpdate(String sql, int[] columnIndexes)
Выполняет данный SQL-оператор и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
default long |
executeLargeUpdate(String sql, String[] columnNames)
Выполняет данный SQL-оператор и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
ResultSet |
executeQuery(String sql)
Выполняет данный SQL-оператор, который возвращает сингл
ResultSet объект. |
int |
executeUpdate(String sql)
Выполняет данный SQL-оператор, который может быть
INSERT, UPDATE, или DELETE оператор или SQL-оператор, который ничего не возвращает, такого как оператор DDL SQL. |
int |
executeUpdate(String sql, int autoGeneratedKeys)
Выполняет данный SQL-оператор и сигнализирует драйвер с данным флагом о ли автоматически сгенерированные ключи, произведенные этим
Statement объект должен быть сделан доступным для извлечения. |
int |
executeUpdate(String sql, int[] columnIndexes)
Выполняет данный SQL-оператор и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
int |
executeUpdate(String sql, String[] columnNames)
Выполняет данный SQL-оператор и сигнализирует драйвер, что автоматически сгенерированные ключи, обозначенные в данном массиве, должны быть сделаны доступными для извлечения.
|
Соединение |
getConnection()
Получает
Connection возразите, что произвел это Statement объект. |
int |
getFetchDirection()
Получает направление для того, чтобы выбрать строки от таблиц базы данных, который является значением по умолчанию для наборов результатов, сгенерированных от этого
Statement объект. |
int |
getFetchSize()
Получает число строк набора результатов, которое является размером выборки значения по умолчанию для
ResultSet объекты сгенерированы от этого Statement объект. |
ResultSet |
getGeneratedKeys()
Получает любые автоматически сгенерированные ключи, создаваемые в результате выполнения этого
Statement объект. |
default long |
getLargeMaxRows()
Получает максимальное количество строк это a
ResultSet объект производится этим Statement объект может содержать. |
default long |
getLargeUpdateCount()
Получает текущий результат как количество обновления; если результатом является a
ResultSet возразите или нет больше результатов,-1 возвращается. |
int |
getMaxFieldSize()
Получает максимальное количество байтов, которые могут быть возвращены для символьных и двоичных значений столбцов в a
ResultSet объект производится этим Statement объект. |
int |
getMaxRows()
Получает максимальное количество строк это a
ResultSet объект производится этим Statement объект может содержать. |
boolean |
getMoreResults()
Перемещения к этому
Statement следующий результат объекта, возвраты true если это - a ResultSet объект, и неявно закрывает любой ток ResultSet объект (ы) получается с методом getResultSet. |
boolean |
getMoreResults(int current)
Перемещения к этому
Statement следующий результат объекта, соглашения с любым током ResultSet объект (ы) согласно инструкциям, определенным данным флагом, и возвратами true если следующим результатом является a ResultSet объект. |
int |
getQueryTimeout()
Получает число секунд, драйвер будет ожидать a
Statement объект выполниться. |
ResultSet |
getResultSet()
Получает текущий результат как a
ResultSet объект. |
int |
getResultSetConcurrency()
Получает параллелизм набора результатов для
ResultSet объекты сгенерированы этим Statement объект. |
int |
getResultSetHoldability()
Получает набор результатов holdability для
ResultSet объекты сгенерированы этим Statement объект. |
int |
getResultSetType()
Получает тип набора результатов для
ResultSet объекты сгенерированы этим Statement объект. |
int |
getUpdateCount()
Получает текущий результат как количество обновления; если результатом является a
ResultSet возразите или нет больше результатов,-1 возвращается. |
SQLWarning |
getWarnings()
Получает первое предупреждение, о котором сообщают запросы к этому
Statement объект. |
boolean |
isClosed()
Получает ли это
Statement объект был закрыт. |
boolean |
isCloseOnCompletion()
Возвращает значение, указывающее ли это
Statement будет закрыт, когда все его зависимые наборы результатов закрываются. |
boolean |
isPoolable()
Возвращает значение, указывающее ли
Statement poolable или нет. |
void |
setCursorName(String name)
Определяет имя курсора SQL к данному
String, который будет использоваться последующим Statement объект execute методы. |
void |
setEscapeProcessing(boolean enable)
Обработка escape наборов на или прочь.
|
void |
setFetchDirection(int direction)
Дает драйверу подсказку относительно направления, в котором строки будут обработаны в
ResultSet объекты создали использование этого Statement объект. |
void |
setFetchSize(int rows)
Дает драйверу JDBC подсказку относительно числа строк, которые должны быть выбраны от базы данных, когда больше строк необходимо для
ResultSet объекты genrated этим Statement. |
default void |
setLargeMaxRows(long max)
Устанавливает предел для максимального количества строк что любой
ResultSet объект сгенерирован этим Statement объект может содержать к данному числу. |
void |
setMaxFieldSize(int max)
Устанавливает предел для максимального количества байтов, которые могут быть возвращены для символьных и двоичных значений столбцов в a
ResultSet объект производится этим Statement объект. |
void |
setMaxRows(int max)
Устанавливает предел для максимального количества строк что любой
ResultSet объект сгенерирован этим Statement объект может содержать к данному числу. |
void |
setPoolable(boolean poolable)
Запросы это a
Statement будьте объединены в пул или не объединены в пул. |
void |
setQueryTimeout(int seconds)
Определяет номер секунд, драйвер будет ожидать a
Statement объект выполниться к данному числу секунд. |
isWrapperFor, unwrapstatic final int CLOSE_CURRENT_RESULT
ResultSet объект должен быть закрыт, вызывая getMoreResults.static final int KEEP_CURRENT_RESULT
ResultSet объект не должен быть закрыт, вызывая getMoreResults.static final int CLOSE_ALL_RESULTS
ResultSet объекты, которые были ранее сохранены открытыми, должны быть закрыты, вызывая getMoreResults.static final int SUCCESS_NO_INFO
static final int EXECUTE_FAILED
static final int RETURN_GENERATED_KEYS
static final int NO_GENERATED_KEYS
ResultSet executeQuery(String sql) throws SQLException
ResultSet объект.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - SQL-оператор, который будет отправлен базе данных, обычно статический SQL SELECT операторResultSet объект, который содержит данные, произведенные данным запросом; никогда nullSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, данный SQL-оператор производит что-либо кроме сингла ResultSet объект, к методу обращаются a PreparedStatement или CallableStatementSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementint executeUpdate(String sql) throws SQLException
INSERT, UPDATE, или DELETE оператор или SQL-оператор, который ничего не возвращает, такого как оператор DDL SQL.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.SQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, данный SQL-оператор производит a ResultSet объект, к методу обращаются a PreparedStatement или CallableStatementSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementvoid close()
throws SQLException
Statement база данных объекта и ресурсы JDBC сразу вместо того, чтобы ожидать этого, чтобы произойти, когда это автоматически закрывается. Это - обычно хорошая практика, чтобы высвободить средства, как только Вы заканчиваетесь с ними, чтобы избежать связывать ресурсы базы данных. Вызов метода close на a Statement объект, который уже закрывается, не имеет никакого эффекта.
Note:When a Statement объект закрывается, его ток ResultSet объект, если Вы существуете, также закрывается.
close в интерфейсе AutoCloseableSQLException - если ошибка доступа к базе данных происходитint getMaxFieldSize()
throws SQLException
ResultSet объект производится этим Statement объект. Этот предел применяется только к BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR и LONGVARCHAR столбцы. Если предел превышается, избыточные данные тихо отбрасываются.SQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetMaxFieldSize(int)void setMaxFieldSize(int max)
throws SQLException
ResultSet объект производится этим Statement объект. Этот предел применяется только к BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR и LONGVARCHAR поля. Если предел превышается, избыточные данные тихо отбрасываются. Для максимальной мобильности используйте значения, больше чем 256.max - новый размер столбца ограничивает в байтах; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или условие, максимальное> = 0, не удовлетворяетсяgetMaxFieldSize()int getMaxRows()
throws SQLException
ResultSet объект производится этим Statement объект может содержать. Если этот предел превышается, избыточные строки тихо отбрасываются.ResultSet объект производится этим Statement объект; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetMaxRows(int)void setMaxRows(int max)
throws SQLException
ResultSet объект сгенерирован этим Statement объект может содержать к данному числу. Если предел превышается, избыточные строки тихо отбрасываются.max - новый максимальный предел строк; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или условие, максимальное> = 0, не удовлетворяетсяgetMaxRows()void setEscapeProcessing(boolean enable)
throws SQLException
Connection и DataSource свойство escapeProcessing может использоваться, чтобы изменить поведение обработки escape значения по умолчанию. Значение истины (значение по умолчанию) включает Обработке escape для всех Statement объекты. Значение лжи отключает обработку escape для всех Statement объекты. setEscapeProcessing метод может использоваться, чтобы определить поведение обработки escape для человека Statement объект.
Отметьте: Так как подготовленные операторы обычно анализировались до выполнения этого вызова, отключая обработку escape для PreparedStatements объекты не будут иметь никакого эффекта.
enable - true включать обработке escape; false отключить этоSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementint getQueryTimeout()
throws SQLException
Statement объект выполниться. Если предел превышается, a SQLException бросается.SQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetQueryTimeout(int)void setQueryTimeout(int seconds)
throws SQLException
Statement объект выполниться к данному числу секунд. По умолчанию нет никакого предела на количестве времени, учтенном рабочий оператор, чтобы завершиться. Если предел превышается, SQLTimeoutException бросается. Драйвер JDBC должен применить этот предел execute, executeQuery и executeUpdate методы.
Отметьте: реализации драйвера JDBC могут также применить этот предел ResultSet методы (консультируются с Вашей документацией поставщика драйвера для деталей).
Отметьте: В случае Statement пакетная обработка, это - реализация, определенная относительно того, применяется ли тайм-аут к отдельным командам SQL, добавленным через addBatch метод или ко всему пакету команд SQL, вызванных executeBatch метод (консультируются с Вашей документацией поставщика драйвера для деталей).
seconds - в секундах новый тайм-аут запроса ограничивает; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или секунды условия> = 0 не удовлетворяютсяgetQueryTimeout()void cancel()
throws SQLException
Statement возразите если и DBMS и поддержка драйвера, прерывающая SQL-оператор. Этот метод может использоваться одним потоком, чтобы отменить оператор, который выполняется другим потоком.SQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLWarning getWarnings() throws SQLException
Statement объект. Последующий Statement объектные предупреждения будут объединены в цепочку к этому SQLWarning объект. Цепочка предупреждения автоматически очищается каждый раз, когда оператор выполняемое (ре). Этот метод нельзя вызвать на закрытом Statement объект; выполнение так вызовет SQLException быть брошенным.
Отметьте: Если Вы обрабатываете a ResultSet объект, любые предупреждения связались с чтениями на этом ResultSet объект будет объединен в цепочку на этом, а не на Statement возразите, что произвел это.
SQLWarning объект или null если нет никаких предупрежденийSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementvoid clearWarnings()
throws SQLException
Statement объект. После звонка в этот метод, метод getWarnings возвратится null пока о новом предупреждении не сообщают для этого Statement объект.SQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementvoid setCursorName(String name) throws SQLException
String, который будет использоваться последующим Statement объект execute методы. Это имя может тогда использоваться в позиционированном обновлении SQL или операторах удаления, чтобы идентифицировать текущую строку в ResultSet объект сгенерирован этим оператором. Если база данных не поддерживает позиционированное обновление/, удаляют, этот метод является noop. Обеспечить, чтобы у курсора был надлежащий уровень изоляции, чтобы поддерживать обновления, курсор SELECT у оператора должна быть форма SELECT FOR UPDATE. Если FOR UPDATE не существует, позиционированные обновления могут перестать работать. Отметьте: По определению выполнение позиционированных обновлений и удаляет, должен быть сделан различным Statement объект чем тот, который генерировал ResultSet объект, используемый для того, чтобы расположить. Кроме того, имена курсора должны быть уникальными в пределах соединения.
name - новое имя курсора, которое должно быть уникальным в пределах соединенияSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методboolean execute(String sql) throws SQLException
execute метод выполняет SQL-оператор и указывает на форму первого результата. Следует тогда использовать методы getResultSet или getUpdateCount получать результат, и getMoreResults перемещаться в любой последующий результат (ы).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - любой SQL-операторtrue если первым результатом является a ResultSet объект; false если это - количество обновления или нет никаких результатовSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, к методу обращаются a PreparedStatement или CallableStatementSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementgetResultSet(), getUpdateCount(), getMoreResults()ResultSet getResultSet() throws SQLException
ResultSet объект. Однажды этот метод нужно вызвать только на результат.ResultSet объект или null если результатом является количество обновления или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementexecute(java.lang.String)int getUpdateCount()
throws SQLException
ResultSet возразите или нет больше результатов,-1 возвращается. Однажды этот метод нужно вызвать только на результат.ResultSet возразите или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementexecute(java.lang.String)boolean getMoreResults()
throws SQLException
Statement следующий результат объекта, возвраты true если это - a ResultSet объект, и неявно закрывает любой ток ResultSet объект (ы) получается с методом getResultSet. Нет больше результатов, когда следующее является истиной:
// stmt is a Statement object
((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
true если следующим результатом является a ResultSet объект; false если это - количество обновления или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementexecute(java.lang.String)void setFetchDirection(int direction)
throws SQLException
ResultSet объекты создали использование этого Statement объект. Значение по умолчанию ResultSet.FETCH_FORWARD. Отметьте, что этот метод устанавливает направление выборки значения по умолчанию для наборов результатов, сгенерированных этим Statement объект. У каждого набора результатов есть свои собственные методы для получения и установки его собственного направления выборки.
direction - начальное направление для того, чтобы обработать строкиSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или данное направление не является одним из ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, или ResultSet.FETCH_UNKNOWNgetFetchDirection()int getFetchDirection()
throws SQLException
Statement объект. Если это Statement объект не установил направление выборки, вызывая метод setFetchDirection, возвращаемое значение специфично для реализации.Statement объектSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetFetchDirection(int)void setFetchSize(int rows)
throws SQLException
ResultSet объекты genrated этим Statement. Если определенное значение является нулем, то подсказка игнорируется. Значение по умолчанию является нулем.rows - число строк, чтобы выбратьSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или условие rows >= 0 не удовлетворяется.getFetchSize()int getFetchSize()
throws SQLException
ResultSet объекты сгенерированы от этого Statement объект. Если это Statement объект не установил размер выборки, вызывая метод setFetchSize, возвращаемое значение специфично для реализации.Statement объектSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetFetchSize(int)int getResultSetConcurrency()
throws SQLException
ResultSet объекты сгенерированы этим Statement объект.ResultSet.CONCUR_READ_ONLY или ResultSet.CONCUR_UPDATABLESQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementint getResultSetType()
throws SQLException
ResultSet объекты сгенерированы этим Statement объект.ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, или ResultSet.TYPE_SCROLL_SENSITIVESQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementvoid addBatch(String sql) throws SQLException
Statement объект. Команды в этом списке могут быть выполнены как пакет, вызывая метод executeBatch.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - обычно это - SQL INSERT или UPDATE операторSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, драйвер не поддерживает пакетные обновления, к методу обращаются a PreparedStatement или CallableStatementexecuteBatch(), DatabaseMetaData.supportsBatchUpdates()void clearBatch()
throws SQLException
Statement текущий список объекта команд SQL. SQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или драйвер не поддерживает пакетные обновленияaddBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()int[] executeBatch()
throws SQLException
int элементам массива, который возвращается, упорядочивают соответствовать командам в пакете, которые упорядочиваются согласно порядку, в котором они были добавлены к пакету. Элементы в массиве возвратились методом executeBatch может быть одно из следующего: SUCCESS_NO_INFO - указывает, что команда была обработана успешно, но что число строк, на которые влияют, неизвестно Если одна из команд в пакетном обновлении не в состоянии выполниться должным образом, этот метод бросает a BatchUpdateException, и драйвер JDBC может или, возможно, не продолжает обрабатывать остающиеся команды в пакете. Однако, поведение драйвера должно быть непротиворечивым с определенным DBMS, или всегда продолжающим обработать команды или никогда не продолжающий обрабатывать команды. Если драйвер продолжает обрабатывать после отказа, массив, возвращенный методом BatchUpdateException.getUpdateCounts будет содержать так много элементов, как есть команды в пакете, и по крайней мере один из элементов будет следующим:
EXECUTE_FAILED - указывает, что команда, отказавшая, чтобы выполниться успешно и, происходит, только если драйвер продолжает обрабатывать команды после того, как команда перестала работать Возможные реализации и возвращаемые значения были изменены в Java 2 SDK, Standard Edition, версия 1.3, чтобы разместить опцию продолжения к proccess командам в пакетном обновлении после a BatchUpdateException obejct был брошен.
SQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или драйвер не поддерживает пакетные операторы. Броски BatchUpdateException (подкласс SQLException) если одна из команд, отправленных базе данных, не в состоянии выполниться должным образом или пытается возвратить набор результатов.SQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementaddBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()Connection getConnection() throws SQLException
Connection возразите, что произвел это Statement объект.SQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementboolean getMoreResults(int current)
throws SQLException
Statement следующий результат объекта, соглашения с любым током ResultSet объект (ы) согласно инструкциям, определенным данным флагом, и возвратами true если следующим результатом является a ResultSet объект. Нет больше результатов, когда следующее является истиной:
// stmt is a Statement object
((stmt.getMoreResults(current) == false) && (stmt.getUpdateCount() == -1))
current - один из следующих Statement константы, указывающие, что должно произойти с током ResultSet объекты получили использование метода getResultSet: Statement.CLOSE_CURRENT_RESULT, Statement.KEEP_CURRENT_RESULT, или Statement.CLOSE_ALL_RESULTStrue если следующим результатом является a ResultSet объект; false если это - количество обновления или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или предоставленным параметром не является одно из следующего: Statement.CLOSE_CURRENT_RESULT, Statement.KEEP_CURRENT_RESULT или Statement.CLOSE_ALL_RESULTSSQLFeatureNotSupportedException - если DatabaseMetaData.supportsMultipleOpenResults возвраты false и также Statement.KEEP_CURRENT_RESULT или Statement.CLOSE_ALL_RESULTS предоставляются как параметр.execute(java.lang.String)ResultSet getGeneratedKeys() throws SQLException
Statement объект. Если это Statement объект не генерировал ключей, пустого ResultSet объект возвращается. Note:If столбцы, которые представляют автоматически сгенерированные ключи, не были определены, реализация драйвера JDBC, определит столбцы, которые лучше всего представляют автоматически сгенерированные ключи.
ResultSet объект, содержащий автоматически сгенерированный ключ (и), сгенерирован выполнением этого Statement объектSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методint executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement объект должен быть сделан доступным для извлечения. Драйвер проигнорирует флаг, если SQL-оператор не будет INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.autoGeneratedKeys - флаг, указывающий, должны ли автоматически сгенерированные ключи быть сделаны доступными для извлечения; одна из следующих констант: Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYSSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, данный SQL-оператор возвращает a ResultSet объект, данная константа не является одним из позволенных, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод с константой Оператора. RETURN_GENERATED_KEYSSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementint executeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.columnIndexes - массив столбца индексирует указание на столбцы, которые должны быть возвращены из вставленной строкиSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, SQL-оператор возвращает a ResultSet объект, второй параметр, предоставленный этому методу, не int выстройте, чьи элементы являются допустимым столбцом, индексирует, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementint executeUpdate(String sql, String[] columnNames) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.columnNames - массив имен столбцов, которые должны быть возвращены из вставленной строкиINSERT, UPDATE, или DELETE операторы, или 0 для SQL-операторов, которые ничего не возвращаютSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, SQL-оператор возвращает a ResultSet объект, второй параметр, предоставленный этому методу, не является a String выстройте, чьи элементы являются допустимыми именами столбцов, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementboolean execute(String sql, int autoGeneratedKeys) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). В некоторых (редких) ситуациях единственный SQL-оператор может возвратить многократные наборы результатов и/или обновить количества. Обычно можно проигнорировать это, если Вы не (1) выполнение хранимой процедуры, которую Вы знаете, может возвратить многократные результаты, или (2) Вы динамически выполняете неизвестную строку SQL.
execute метод выполняет SQL-оператор и указывает на форму первого результата. Следует тогда использовать методы getResultSet или getUpdateCount получать результат, и getMoreResults перемещаться в любой последующий результат (ы).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - любой SQL-операторautoGeneratedKeys - постоянное указание, должны ли автоматически сгенерированные ключи быть сделаны доступными для извлечения, используя метод getGeneratedKeys; одна из следующих констант: Statement.RETURN_GENERATED_KEYS или Statement.NO_GENERATED_KEYStrue если первым результатом является a ResultSet объект; false если это - количество обновления или нет никаких результатовSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, второй параметр, предоставленный этому методу, не Statement.RETURN_GENERATED_KEYS или Statement.NO_GENERATED_KEYS, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод с константой Оператора. RETURN_GENERATED_KEYSSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementgetResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()boolean execute(String sql, int[] columnIndexes) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). Под некоторыми (редкими) ситуациями единственный SQL-оператор может возвратить многократные наборы результатов и/или обновить количества. Обычно можно проигнорировать это, если Вы не (1) выполнение хранимой процедуры, которую Вы знаете, может возвратить многократные результаты, или (2) Вы динамически выполняете неизвестную строку SQL.
execute метод выполняет SQL-оператор и указывает на форму первого результата. Следует тогда использовать методы getResultSet или getUpdateCount получать результат, и getMoreResults перемещаться в любой последующий результат (ы).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - любой SQL-операторcolumnIndexes - массив индексирования столбцов во вставленной строке, которая должна быть сделана доступной для извлечения звонком в метод getGeneratedKeystrue если первым результатом является a ResultSet объект; false если это - количество обновления или нет никаких результатовSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, элементы в int массив, который передают к этому методу, не является допустимым столбцом, индексирует, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementgetResultSet(), getUpdateCount(), getMoreResults()boolean execute(String sql, String[] columnNames) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). В некоторых (редких) ситуациях единственный SQL-оператор может возвратить многократные наборы результатов и/или обновить количества. Обычно можно проигнорировать это, если Вы не (1) выполнение хранимой процедуры, которую Вы знаете, может возвратить многократные результаты, или (2) Вы динамически выполняете неизвестную строку SQL.
execute метод выполняет SQL-оператор и указывает на форму первого результата. Следует тогда использовать методы getResultSet или getUpdateCount получать результат, и getMoreResults перемещаться в любой последующий результат (ы).
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
sql - любой SQL-операторcolumnNames - массив имен столбцов во вставленной строке, которая должна быть сделана доступной для извлечения звонком в метод getGeneratedKeystrue если следующим результатом является a ResultSet объект; false если это - количество обновления или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, элементы String массив, который передают к этому методу, не является допустимыми именами столбцов, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementgetResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()int getResultSetHoldability()
throws SQLException
ResultSet объекты сгенерированы этим Statement объект.ResultSet.HOLD_CURSORS_OVER_COMMIT или ResultSet.CLOSE_CURSORS_AT_COMMITSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementboolean isClosed()
throws SQLException
Statement объект был закрыт. A Statement закрывается, если метод близко вызвали на этом, или если это автоматически закрывается.Statement объект закрывается; ложь, если это все еще открытоSQLException - если ошибка доступа к базе данных происходитvoid setPoolable(boolean poolable)
throws SQLException
Statement будьте объединены в пул или не объединены в пул. Определенное значение является подсказкой к реализации пула оператора, указывающей, хочет ли приложение, чтобы оператор был объединен в пул. Это - до пула оператора менеджер относительно того, используется ли подсказка. poolable значение оператора применимо и к внутренним кэшам оператора, реализованным драйвером и к внешним кэшам оператора, реализованным серверами приложений и другими приложениями.
По умолчанию, a Statement не poolable когда создающийся, и a PreparedStatement и CallableStatement poolable когда создающийся.
poolable - запросы, что оператор быть объединенным в пул, если истина и что оператор не быть объединенным в пул, если ложь SQLException - если этот метод вызывают на закрытом Statement
boolean isPoolable()
throws SQLException
Statement poolable или нет. true если Statement poolable; false иначе SQLException - если этот метод вызывают на закрытом Statement
setPoolable(boolean)void closeOnCompletion()
throws SQLException
Statement будет закрыт, когда все его зависимые наборы результатов закрываются. Если выполнение Statement не производит наборов результатов, этот метод не имеет никакого эффекта.
Отметьте: Множественные вызовы closeOnCompletion не переключайте эффект на это Statement. Однако, звонок closeOnCompletion действительно производит и последующее выполнение операторов, и операторы, у которых в настоящий момент есть открытые, зависимые, наборы результатов.
SQLException - если этот метод вызывают на закрытом Statementboolean isCloseOnCompletion()
throws SQLException
Statement будет закрыт, когда все его зависимые наборы результатов закрываются.true если Statement будет закрыт, когда все его зависимые наборы результатов закрываются; false иначеSQLException - если этот метод вызывают на закрытом Statementdefault long getLargeUpdateCount()
throws SQLException
ResultSet возразите или нет больше результатов,-1 возвращается. Однажды этот метод нужно вызвать только на результат. Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
Реализация по умолчанию бросит UnsupportedOperationException
ResultSet возразите или нет больше результатовSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом Statementexecute(java.lang.String)default void setLargeMaxRows(long max)
throws SQLException
ResultSet объект сгенерирован этим Statement объект может содержать к данному числу. Если предел превышается, избыточные строки тихо отбрасываются. Этот метод должен использоваться, когда предел строки может превысить Integer.MAX_VALUE.
Реализация по умолчанию бросит UnsupportedOperationException
max - новый максимальный предел строк; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или условие, максимальное> = 0, не удовлетворяетсяgetMaxRows()default long getLargeMaxRows()
throws SQLException
ResultSet объект производится этим Statement объект может содержать. Если этот предел превышается, избыточные строки тихо отбрасываются. Этот метод должен использоваться, когда возвращенный предел строки может превысить Integer.MAX_VALUE.
Реализация по умолчанию возвратится 0
ResultSet объект производится этим Statement объект; обнулите означает, что нет никакого пределаSQLException - если ошибка доступа к базе данных происходит, или этот метод вызывают на закрытом StatementsetMaxRows(int)default long[] executeLargeBatch()
throws SQLException
long элементам массива, который возвращается, упорядочивают соответствовать командам в пакете, которые упорядочиваются согласно порядку, в котором они были добавлены к пакету. Элементы в массиве возвратились методом executeLargeBatch может быть одно из следующего: SUCCESS_NO_INFO - указывает, что команда была обработана успешно, но что число строк, на которые влияют, неизвестно Если одна из команд в пакетном обновлении не в состоянии выполниться должным образом, этот метод бросает a BatchUpdateException, и драйвер JDBC может или, возможно, не продолжает обрабатывать остающиеся команды в пакете. Однако, поведение драйвера должно быть непротиворечивым с определенным DBMS, или всегда продолжающим обработать команды или никогда не продолжающий обрабатывать команды. Если драйвер продолжает обрабатывать после отказа, массив, возвращенный методом BatchUpdateException.getLargeUpdateCounts будет содержать так много элементов, как есть команды в пакете, и по крайней мере один из элементов будет следующим:
EXECUTE_FAILED - указывает, что команда, отказавшая, чтобы выполниться успешно и, происходит, только если драйвер продолжает обрабатывать команды после того, как команда перестала работать Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
Реализация по умолчанию бросит UnsupportedOperationException
SQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement или драйвер не поддерживает пакетные операторы. Броски BatchUpdateException (подкласс SQLException) если одна из команд, отправленных базе данных, не в состоянии выполниться должным образом или пытается возвратить набор результатов.SQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее StatementaddBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()default long executeLargeUpdate(String sql) throws SQLException
INSERT, UPDATE, или DELETE оператор или SQL-оператор, который ничего не возвращает, такого как оператор DDL SQL. Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
Реализация по умолчанию бросит UnsupportedOperationException
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.SQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, данный SQL-оператор производит a ResultSet объект, к методу обращаются a PreparedStatement или CallableStatementSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementdefault long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException
Statement объект должен быть сделан доступным для извлечения. Драйвер проигнорирует флаг, если SQL-оператор не будет INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
Реализация по умолчанию бросит SQLFeatureNotSupportedException
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.autoGeneratedKeys - флаг, указывающий, должны ли автоматически сгенерированные ключи быть сделаны доступными для извлечения; одна из следующих констант: Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYSSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, данный SQL-оператор возвращает a ResultSet объект, данная константа не является одним из позволенных, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод с константой Оператора. RETURN_GENERATED_KEYSSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementdefault long executeLargeUpdate(String sql, int[] columnIndexes) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
Реализация по умолчанию бросит SQLFeatureNotSupportedException
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.columnIndexes - массив столбца индексирует указание на столбцы, которые должны быть возвращены из вставленной строкиSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, SQL-оператор возвращает a ResultSet объект, второй параметр, предоставленный этому методу, не int выстройте, чьи элементы являются допустимым столбцом, индексирует, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statementdefault long executeLargeUpdate(String sql, String[] columnNames) throws SQLException
INSERT оператор, или SQL-оператор, который в состоянии возвратить автоматически сгенерированные ключи (список таких операторов специфичен для поставщика). Этот метод должен использоваться, когда возвращенное количество строки может превысить Integer.MAX_VALUE.
К методу Note:This нельзя обратиться a PreparedStatement или CallableStatement.
Реализация по умолчанию бросит SQLFeatureNotSupportedException
sql - Язык манипулирования данными SQL (DML) оператор, такой как INSERT, UPDATE или DELETE; или SQL-оператор, который ничего не возвращает, такого как оператор DDL.columnNames - массив имен столбцов, которые должны быть возвращены из вставленной строкиINSERT, UPDATE, или DELETE операторы, или 0 для SQL-операторов, которые ничего не возвращаютSQLException - если ошибка доступа к базе данных происходит, этот метод вызывают на закрытом Statement, SQL-оператор возвращает a ResultSet объект, второй параметр, предоставленный этому методу, не является a String выстройте, чьи элементы являются допустимыми именами столбцов, к методу обращаются a PreparedStatement или CallableStatementSQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот методSQLTimeoutException - когда драйвер решил, что значение тайм-аута, которое было определено setQueryTimeout метод был превышен и по крайней мере попытался отменить в настоящий момент рабочее Statement
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92