Spec-Zone.ru › OpenJDK 8

Интерфейс Statement

Все суперинтерфейсы:
AutoCloseable, Wrapper
Все известные подинтерфейсы:
CallableStatement, PreparedStatement

public interface Statement
extends Wrapper, AutoCloseable

Объект, используемый для выполнения статического SQL-запроса и возвращения полученных результатов.

По умолчанию, только один ResultSet объект на один объект Statement может быть открыт одновременно. Поэтому, если чтение одного объекта ResultSet перекрывается чтением другого, каждый должен быть сгенерирован разными объектами Statement. Все методы выполнения в интерфейсе Statement неявно закрывают текущий объект 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-команду в текущий список команд для этого объекта Statement.

void cancel()

Отменяет этот объект Statement, если DBMS и драйвер поддерживают отмену SQL-запроса.

void clearBatch()

Очищает текущий список SQL-команд объекта Statement.

void clearWarnings()

Очищает все предупреждения, сообщённые объектом Statement.

void close()

Немедленно освобождает базу данных и JDBC-ресурсы этого объекта Statement, вместо ожидания автоматического закрытия.

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-запросом, не возвращающим никаких результатов, например, SQL DDL-запрос.

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-запросом, не возвращающим никаких результатов, например, SQL DDL-запрос.

int executeUpdate(String sql, int autoGeneratedKeys)

Выполняет заданный SQL-запрос и сигнализирует драйверу с помощью заданного флага, о том, должны ли автоматически сгенерированные ключи, созданные этим объектом Statement, быть доступны для извлечения.

int executeUpdate(String sql, int[] columnIndexes)

Выполняет заданный SQL-запрос и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения.

int executeUpdate(String sql, String[] columnNames)

Выполняет заданный SQL-запрос и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения.

Connection getConnection()

Возвращает объект Connection, который создал этот объект Statement.

int getFetchDirection()

Возвращает направление извлечения строк из таблиц базы данных, которое является значением по умолчанию для наборов результатов, сгенерированных из этого объекта Statement.

int getFetchSize()

Возвращает количество строк набора результатов, которое является значением по умолчанию для размера извлечения для объектов ResultSet, сгенерированных из этого объекта Statement.

ResultSet getGeneratedKeys()

Возвращает любые автоматически сгенерированные ключи, созданные в результате выполнения этого объекта Statement.

default long getLargeMaxRows()

Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный этим объектом Statement.

default long getLargeUpdateCount()

Возвращает текущий результат как счёт обновления; если результат является объектом ResultSet или больше результатов нет, возвращается -1.

int getMaxFieldSize()

Возвращает максимальное количество байтов, которое может быть возвращено для значений символьных и двоичных столбцов в объекте ResultSet, созданном этим объектом Statement.

int getMaxRows()

Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный этим объектом Statement.

boolean getMoreResults()

Переходит к следующему результату этого объекта Statement, возвращает true, если это объект ResultSet, и неявно закрывает любые текущие объекты ResultSet, полученные с помощью метода getResultSet.

boolean getMoreResults(int current)

Переходит к следующему результату этого объекта Statement, обрабатывает любые текущие объекты ResultSet в соответствии с инструкциями, указанными в данном флаге, и возвращает true, если следующий результат - объект ResultSet.

int getQueryTimeout()

Возвращает количество секунд, которое драйвер будет ждать выполнения объекта Statement.

ResultSet getResultSet()

Возвращает текущий результат как объект ResultSet.

int getResultSetConcurrency()

Возвращает конкурентность набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

int getResultSetHoldability()

Возвращает удерживаемость набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

int getResultSetType()

Возвращает тип набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

int getUpdateCount()

Возвращает текущий результат как счёт обновления; если результат является объектом ResultSet или больше результатов нет, возвращается -1.

SQLWarning getWarnings()

Возвращает первое предупреждение, сообщённое вызовами в этом объекте Statement.

boolean isClosed()

Возвращает, был ли закрыт этот объект Statement.

boolean isCloseOnCompletion()

Возвращает значение, указывающее, будет ли этот объект Statement закрыт, когда все зависимые наборы результатов будут закрыты.

boolean isPoolable()

Возвращает значение, указывающее, является ли объект Statement пулом или нет.

void setCursorName(String name)

Устанавливает имя SQL-курсора в заданное значение String, которое будет использоваться последующими методами объекта Statement execute.

void setEscapeProcessing(boolean enable)

Включает или выключает обработку экранирования.

void setFetchDirection(int direction)

Даёт драйверу подсказку о направлении обработки строк в объектах ResultSet, созданных с использованием этого объекта Statement.

void setFetchSize(int rows)

Даёт JDBC-драйверу подсказку о количестве строк, которые следует извлечь из базы данных, когда потребуются дополнительные строки для объектов ResultSet, сгенерированных этим объектом Statement.

default void setLargeMaxRows(long max)

Устанавливает предел максимального количества строк, которое может содержать любой объект ResultSet, сгенерированный этим объектом Statement, на заданное число.

void setMaxFieldSize(int max)

Устанавливает предел максимального количества байтов, которые могут быть возвращены для значений символьных и двоичных столбцов в объекте ResultSet, созданном этим объектом Statement.

void setMaxRows(int max)

Устанавливает предел максимального количества строк, которое может содержать любой объект ResultSet, сгенерированный этим объектом Statement, на заданное число.

void setPoolable(boolean poolable)

Запрашивает, чтобы Statement был или не был пулом.

void setQueryTimeout(int seconds)

Устанавливает количество секунд, которое драйвер будет ждать, пока объект Statement выполнится, до заданного количества секунд.

Methods inherited from interface java.sql.Wrapper

isWrapperFor, unwrap

Поля

CLOSE_CURRENT_RESULT

static final int CLOSE_CURRENT_RESULT

Константа, указывающая, что текущий объект ResultSet должен быть закрыт при вызове getMoreResults.

Since:
1.4
See Also:
Constant Field Values

KEEP_CURRENT_RESULT

static final int KEEP_CURRENT_RESULT

Константа, указывающая, что текущий объект ResultSet не должен быть закрыт при вызове getMoreResults.

Since:
1.4
See Also:
Constant Field Values

CLOSE_ALL_RESULTS

static final int CLOSE_ALL_RESULTS

Константа, указывающая, что все объекты ResultSet, которые ранее оставались открытыми, должны быть закрыты при вызове getMoreResults.

Since:
1.4
See Also:
Constant Field Values

SUCCESS_NO_INFO

static final int SUCCESS_NO_INFO

Константа, указывающая, что пакетное утверждение выполнено успешно, но количество затронутых им строк недоступно.

Since:
1.4
See Also:
Constant Field Values

EXECUTE_FAILED

static final int EXECUTE_FAILED

Константа, указывающая на ошибку при выполнении пакетного утверждения.

Since:
1.4
See Also:
Constant Field Values

RETURN_GENERATED_KEYS

static final int RETURN_GENERATED_KEYS

Константа, указывающая, что сгенерированные ключи должны быть доступны для извлечения.

Since:
1.4
See Also:
Constant Field Values

NO_GENERATED_KEYS

static final int NO_GENERATED_KEYS

Константа, указывающая, что сгенерированные ключи не должны быть доступны для извлечения.

Since:
1.4
See Also:
Constant Field Values

Методы

executeQuery

ResultSet executeQuery(String sql)
                throws SQLException

Выполняет данное SQL-утверждение, которое возвращает один объект ResultSet.

Примечание:Этот метод не может быть вызван для PreparedStatement или CallableStatement.

Parameters:
sql - SQL-запрос для отправки в базу данных, обычно статическое SQL-утверждение SELECT
Returns:
объект ResultSet, содержащий данные, полученные в результате данного запроса; никогда не null
Throws:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого Statement, данный SQL-запрос создаёт что-либо отличное от одного объекта ResultSet, метод вызывается для PreparedStatement или CallableStatement
SQLTimeoutException - когда драйвер определил, что значение тайм-аута, указанное методом setQueryTimeout, было превышено, и по крайней мере попытался отменить текущее выполняющееся Statement

executeUpdate

int executeUpdate(String sql)
           throws SQLException

Выполняет данное SQL-утверждение, которое может быть утверждением INSERT, UPDATE или DELETE или SQL-утверждением, которое ничего не возвращает, например, SQL DDL-утверждение.

Примечание:Этот метод не может быть вызван для PreparedStatement или CallableStatement.

Parameters:
sql - SQL-утверждение языка манипулирования данными (DML), такое как INSERT, UPDATE или DELETE; или SQL-утверждение, которое ничего не возвращает, например, DDL-утверждение.
Returns:
либо (1) количество строк для SQL-утверждений языка манипулирования данными (DML), либо (2) 0 для SQL-утверждений, которые ничего не возвращают
Throws:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого Statement, данный SQL-запрос создаёт объект ResultSet, метод вызывается для PreparedStatement или CallableStatement
SQLTimeoutException - когда драйвер определил, что значение тайм-аута, указанное методом setQueryTimeout, было превышено, и по крайней мере попытался отменить текущее выполняющееся Statement

close

void close()
    throws SQLException

Немедленно освобождает ресурсы базы данных и JDBC этого объекта Statement, вместо того чтобы ждать этого, когда он будет автоматически закрыт. Как правило, рекомендуется освобождать ресурсы, как только вы закончили с ними работать, чтобы избежать связывания ресурсов базы данных.

Вызов метода close для объекта Statement, который уже закрыт, не оказывает никакого действия.

Примечание:Когда объект Statement закрыт, его текущий объект ResultSet, если он существует, также закрывается.

Specified by:
close in interface AutoCloseable
Throws:
SQLException - если возникает ошибка доступа к базе данных

getMaxFieldSize

int getMaxFieldSize()
             throws SQLException

Извлекает максимальное количество байт, которое может быть возвращено для значений столбцов символов и двоичных данных в объекте ResultSet, созданном этим объектом Statement. Это ограничение применяется только к столбцам BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR и LONGVARCHAR. Если превышен лимит, избыточные данные будут молча отброшены.

Returns:
текущее ограничение размера столбца для столбцов, хранящих символьные и двоичные значения; ноль означает, что нет ограничения
Throws:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого Statement
See Also:
setMaxFieldSize(int)

setMaxFieldSize

void setMaxFieldSize(int max)
              throws SQLException

Устанавливает ограничение для максимального количества байт, которое может быть возвращено для значений столбцов символов и двоичных данных в объекте ResultSet, созданном этим объектом Statement. Это ограничение применяется только к полям BINARY, VARBINARY, LONGVARBINARY, CHAR, VARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR и LONGVARCHAR. Если превышен лимит, избыточные данные будут молча отброшены. Для максимальной переносимости используйте значения больше 256.

Parameters:
max - новый лимит размера столбца в байтах; ноль означает, что нет ограничения
Throws:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого Statement или условие max >= 0 не выполняется
See Also:
getMaxFieldSize()

getMaxRows

int getMaxRows()
        throws SQLException

Извлекает максимальное количество строк, которое может содержать объект ResultSet, созданный этим объектом Statement. Если этот лимит превышен, избыточные строки будут молча отброшены.

Returns:
текущее максимальное количество строк для объекта ResultSet, созданного этим объектом Statement; ноль означает, что нет ограничения
Throws:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого Statement
See Also:
setMaxRows(int)

setMaxRows

void setMaxRows(int max)
         throws SQLException

Устанавливает ограничение для максимального количества строк, которое может содержать любой объект ResultSet, созданный этим объектом Statement, на заданное число. Если этот лимит превышен, избыточные строки будут молча отброшены.

Parameters:
max - новый лимит максимального количества строк; ноль означает, что нет ограничения
Throws:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого Statement или условие max >= 0 не выполняется
See Also:
getMaxRows()

setEscapeProcessing

void setEscapeProcessing(boolean enable)
                  throws SQLException

Включает или отключает обработку экранирования. Если сканирование экранирования включено (по умолчанию), драйвер будет выполнять замену экранирования перед отправкой SQL-запроса в базу данных.

Свойство Connection и DataSource escapeProcessing может использоваться для изменения поведения обработки экранирования по умолчанию. Значение true (по умолчанию) включает обработку экранирования для всех объектов Statement. Значение false отключает обработку экранирования для всех объектов Statement. Метод setEscapeProcessing может использоваться для указания поведения обработки экранирования для отдельного объекта Statement.

Примечание: поскольку подготовленные утверждения обычно анализируются до выполнения этого вызова, отключение обработки экранирования для объектов PreparedStatements не будет иметь эффекта.

Parameters:
enable - true для включения обработки экранирования; false для отключения
Throws:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого Statement

getQueryTimeout

int getQueryTimeout()
             throws SQLException

Извлекает количество секунд, в течение которых драйвер будет ждать выполнения объекта Statement. Если лимит превышен, выбрасывается SQLException.

Returns:
текущий лимит времени ожидания запроса в секундах; ноль означает, что нет ограничения
Throws:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого Statement
See Also:
setQueryTimeout(int)

setQueryTimeout

void setQueryTimeout(int seconds)
              throws SQLException

Устанавливает количество секунд, в течение которых драйвер будет ожидать выполнения объекта Statement, до заданного количества секунд. По умолчанию нет ограничений на время, разрешенное для завершения выполняемого оператора. Если лимит превышен, выбрасывается исключение SQLTimeoutException. JDBC-драйвер должен применять это ограничение к методам execute, executeQuery и executeUpdate.

Примечание: Реализации JDBC-драйверов также могут применять это ограничение к методам ResultSet (подробности см. в документации вашего поставщика драйверов).

Примечание: В случае пакетной обработки Statement, определяется реализацией, применяется ли тайм-аут к отдельным командам SQL, добавленным с помощью метода addBatch, или ко всей партии команд SQL, вызываемых методом executeBatch (подробности см. в документации вашего поставщика драйверов).

Параметры:
seconds - новый лимит времени ожидания запроса в секундах; ноль означает, что ограничения нет
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого объекта Statement или условие seconds >= 0 не выполняется
См. также:
getQueryTimeout()

cancel

void cancel()
     throws SQLException

Отменяет этот объект Statement, если СУБД и драйвер поддерживают прерывание оператора SQL. Этот метод может использоваться одним потоком для отмены оператора, который выполняется другим потоком.

Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод

getWarnings

SQLWarning getWarnings()
                throws SQLException

Извлекает первое предупреждение, сообщенное вызовами этого объекта Statement. Последующие предупреждения объекта Statement будут присоединены к этому объекту SQLWarning.

Цепочка предупреждений автоматически очищается каждый раз при (повторном) выполнении оператора. Этот метод не может быть вызван для закрытого объекта Statement; в противном случае будет выброшено исключение SQLException.

Примечание: Если вы обрабатываете объект ResultSet, любые предупреждения, связанные с чтениями из этого объекта ResultSet, будут присоединены к нему, а не к объекту Statement, который его создал.

Возвращает:
первый объект SQLWarning или null, если предупреждений нет
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement

clearWarnings

void clearWarnings()
            throws SQLException

Очищает все предупреждения, сообщенные об этом объекте Statement. После вызова этого метода метод getWarnings будет возвращать null, пока не будет сообщено новое предупреждение для этого объекта Statement.

Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement

setCursorName

void setCursorName(String name)
            throws SQLException

Устанавливает имя курсора SQL на заданное String, которое будет использоваться последующими методами объекта Statement execute. Это имя может затем использоваться в операторах SQL позиционированного обновления или удаления для идентификации текущей строки в объекте ResultSet, созданном этим оператором. Если база данных не поддерживает позиционированное обновление/удаление, этот метод является операцией без действия. Чтобы гарантировать, что курсор имеет соответствующий уровень изоляции для поддержки обновлений, оператор SELECT курсора должен иметь вид SELECT FOR UPDATE. Если FOR UPDATE отсутствует, позиционированные обновления могут завершиться неудачей.

Примечание: По определению, выполнение позиционированных обновлений и удалений должно выполняться другим объектом Statement, отличным от того, который сгенерировал объект ResultSet, используемый для позиционирования. Кроме того, имена курсоров должны быть уникальными в пределах соединения.

Параметры:
name - новое имя курсора, которое должно быть уникальным в пределах соединения
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод

execute

boolean execute(String sql)
         throws SQLException

Выполняет заданный оператор SQL, который может возвращать несколько результатов. В некоторых (редких) ситуациях один оператор SQL может возвращать несколько результирующих наборов и/или число обновлений. Обычно вы можете игнорировать это, если вы не (1) выполняете хранимую процедуру, которая, как вы знаете, может возвращать несколько результатов, или (2) динамически выполняете неизвестную строку SQL.

Метод execute выполняет оператор SQL и указывает форму первого результата. Затем вы должны использовать методы getResultSet или getUpdateCount для получения результата и getMoreResults для перехода к любому последующему результату(ам).

Примечание: Этот метод не может быть вызван для объекта PreparedStatement или CallableStatement.

Параметры:
sql - любой оператор SQL
Возвращает:
true, если первый результат является объектом ResultSet; false, если это число обновлений или нет результатов
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого объекта Statement, метод вызывается для объекта PreparedStatement или CallableStatement
SQLTimeoutException - когда драйвер определил, что значение тайм-аута, указанное методом setQueryTimeout, было превышено, и по крайней мере попытался отменить текущее выполнение Statement
См. также:
getResultSet(), getUpdateCount(), getMoreResults()

getResultSet

ResultSet getResultSet()
                throws SQLException

Извлекает текущий результат в виде объекта ResultSet. Этот метод должен вызываться только один раз для каждого результата.

Возвращает:
текущий результат в виде объекта ResultSet или null, если результат является числом обновлений или результатов больше нет
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
См. также:
execute(java.lang.String)

getUpdateCount

int getUpdateCount()
            throws SQLException

Извлекает текущий результат как число обновлений; если результат является объектом ResultSet или результатов больше нет, возвращается -1. Этот метод должен вызываться только один раз для каждого результата.

Возвращает:
текущий результат как число обновлений; -1, если текущий результат является объектом ResultSet или результатов больше нет
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
См. также:
execute(java.lang.String)

getMoreResults

boolean getMoreResults()
                throws SQLException

Переходит к следующему результату этого объекта Statement, возвращает true, если это объект ResultSet, и неявно закрывает любой текущий объект(ы) ResultSet, полученный(е) с помощью метода getResultSet.

Результатов больше нет, когда истинно следующее:

// stmt is a Statement object
     ((stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))
Возвращает:
true, если следующий результат является объектом ResultSet; false, если это число обновлений или результатов больше нет
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
См. также:
execute(java.lang.String)

setFetchDirection

void setFetchDirection(int direction)
                throws SQLException

Дает драйверу подсказку о направлении, в котором будут обрабатываться строки в объектах ResultSet, созданных с использованием этого объекта Statement. Значение по умолчанию — ResultSet.FETCH_FORWARD.

Обратите внимание, что этот метод устанавливает направление извлечения по умолчанию для результирующих наборов, созданных этим объектом Statement. Каждый результирующий набор имеет свои собственные методы для получения и установки своего собственного направления извлечения.

Параметры:
direction - начальное направление обработки строк
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого объекта Statement или заданное направление не является одним из ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE или ResultSet.FETCH_UNKNOWN
С версии:
1.2
См. также:
getFetchDirection()

getFetchDirection

int getFetchDirection()
               throws SQLException

Извлекает направление извлечения строк из таблиц базы данных, которое является направлением по умолчанию для результирующих наборов, созданных из этого объекта Statement. Если этот объект Statement не установил направление извлечения, вызвав метод setFetchDirection, возвращаемое значение является специфичным для реализации.

Возвращает:
направление извлечения по умолчанию для результирующих наборов, созданных из этого объекта Statement
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается для закрытого объекта Statement
С версии:
1.2
См. также:
setFetchDirection(int)

setFetchSize

void setFetchSize(int rows)
           throws SQLException

Дает JDBC-драйверу подсказку о количестве строк, которые должны быть извлечены из базы данных, когда для объектов ResultSet, созданных этим Statement, потребуются дополнительные строки. Если указанное значение равно нулю, то подсказка игнорируется. Значение по умолчанию равно нулю.

Параметры:
rows - количество строк для извлечения
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается для закрытого объекта Statement или условие rows >= 0 не выполняется.
С версии:
1.2
См. также:
getFetchSize()

getFetchSize

int getFetchSize()
          throws SQLException

Возвращает количество строк набора результатов, которое является значением по умолчанию для размера выборки объектов ResultSet, сгенерированных из этого объекта Statement. Если этот объект Statement не установил размер выборки, вызвав метод setFetchSize, возвращаемое значение зависит от реализации.

Возвращает:
значение размера выборки по умолчанию для наборов результатов, сгенерированных из этого объекта Statement
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого объекта Statement
С:
1.2
См. также:
setFetchSize(int)

getResultSetConcurrency

int getResultSetConcurrency()
                     throws SQLException

Возвращает параллельность набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

Возвращает:
либо ResultSet.CONCUR_READ_ONLY, либо ResultSet.CONCUR_UPDATABLE
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого объекта Statement
С:
1.2

getResultSetType

int getResultSetType()
              throws SQLException

Возвращает тип набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

Возвращает:
одно из значений ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE или ResultSet.TYPE_SCROLL_SENSITIVE
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого объекта Statement
С:
1.2

addBatch

void addBatch(String sql)
       throws SQLException

Добавляет заданную SQL-команду в текущий список команд для этого объекта Statement. Команды в этом списке могут быть выполнены как пакет с помощью метода executeBatch.

Примечание: Этот метод не может быть вызван для объекта PreparedStatement или CallableStatement.

Параметры:
sql — обычно это SQL-INSERT или UPDATE-выражение
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных, этот метод вызван для закрытого объекта Statement, драйвер не поддерживает пакетные обновления, метод вызван для объекта PreparedStatement или CallableStatement
С:
1.2
См. также:
executeBatch(), DatabaseMetaData.supportsBatchUpdates()

clearBatch

void clearBatch()
         throws SQLException

Очищает текущий список SQL-команд для этого объекта Statement.

Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных, этот метод вызван для закрытого объекта Statement или драйвер не поддерживает пакетные обновления
С:
1.2
См. также:
addBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()

executeBatch

int[] executeBatch()
            throws SQLException

Отправляет пакет команд в базу данных для выполнения и, если все команды успешно выполняются, возвращает массив счётчиков обновлений. Элементы массива, возвращённые методом, упорядочены в соответствии с порядком добавления команд в пакет.

Элементы массива, возвращённые методом executeBatch, могут быть следующими:

  1. Число, большее или равное нулю — указывает, что команда была обработана успешно, и является количеством обновлений, дающим количество строк в базе данных, затронутых выполнением команды.
  2. Значение SUCCESS_NO_INFO — указывает, что команда была обработана успешно, но количество затронутых строк неизвестно

    Если одна из команд в пакете обновлений не выполняется должным образом, этот метод выбрасывает исключение BatchUpdateException, и драйвер JDBC может или не может продолжить обработку оставшихся команд в пакете. Однако поведение драйвера должно быть согласованным с определённой СУБД, либо всегда продолжать обработку команд, либо никогда не продолжать обработку команд. Если драйвер продолжает обработку после ошибки, массив, возвращаемый методом BatchUpdateException.getUpdateCounts, будет содержать столько элементов, сколько команд в пакете, и по крайней мере один из элементов будет следующим:

  3. Значение EXECUTE_FAILED — указывает, что команда не была успешно выполнена и возникает только если драйвер продолжает обработку команд после ошибки

Возможные реализации и возвращаемые значения были изменены в Java 2 SDK, Стандартное издание, версия 1.3, чтобы учесть возможность продолжения обработки команд в пакетном обновлении после того, как был брошен объект BatchUpdateException.

Возвращает:
массив счётчиков обновлений, содержащий по одному элементу для каждой команды в пакете. Элементы массива упорядочены в соответствии с порядком добавления команд в пакет.
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных, этот метод вызван для закрытого объекта Statement или драйвер не поддерживает пакетные операторы. Выбрасывает BatchUpdateException (подкласс SQLException), если одна из команд, отправленных в базу данных, не выполняется должным образом или пытается вернуть набор результатов.
SQLTimeoutException — когда драйвер определил, что время ожидания, заданное методом setQueryTimeout, истекло, и по крайней мере попытался отменить текущее выполнение Statement
С:
1.2
См. также:
addBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()

getConnection

Connection getConnection()
                  throws SQLException

Возвращает объект Connection, который создал этот объект Statement.

Возвращает:
соединение, которое создало этот оператор
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого объекта Statement
С:
1.2

getMoreResults

boolean getMoreResults(int current)
                throws SQLException

Переходит к следующему результату для этого объекта Statement, обрабатывает любые текущие объекты ResultSet в соответствии с инструкциями, заданными заданным флагом, и возвращает true, если следующий результат — объект 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_RESULTS
Возвращает:
true, если следующий результат — объект ResultSet; false, если это количество обновлений или больше результатов нет
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных, этот метод вызван для закрытого объекта Statement или переданный аргумент не является одним из следующих: Statement.CLOSE_CURRENT_RESULT, Statement.KEEP_CURRENT_RESULT или Statement.CLOSE_ALL_RESULTS
SQLFeatureNotSupportedException — если DatabaseMetaData.supportsMultipleOpenResults возвращает false, и либо Statement.KEEP_CURRENT_RESULT, либо Statement.CLOSE_ALL_RESULTS переданы в качестве аргумента.
С:
1.4
См. также:
execute(java.lang.String)

getGeneratedKeys

ResultSet getGeneratedKeys()
                    throws SQLException

Возвращает любые сгенерированные ключи, созданные в результате выполнения этого объекта Statement. Если этот объект Statement не сгенерировал ключей, возвращается пустой объект ResultSet.

Примечание: Если столбцы, представляющие сгенерированные ключи, не были указаны, реализация драйвера JDBC определит столбцы, которые лучше всего представляют сгенерированные ключи.

Возвращает:
объект ResultSet, содержащий сгенерированный(ые) ключ(и), сгенерированные выполнением этого объекта Statement
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого объекта Statement
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод
С:
1.4

executeUpdate

int executeUpdate(String sql,
                  int autoGeneratedKeys)
           throws SQLException

Выполняет заданное SQL-выражение и сигнализирует драйверу с заданным флагом о том, должны ли сгенерированные ключи, созданные этим объектом Statement, быть доступны для получения. Драйвер проигнорирует флаг, если SQL-выражение не является оператором INSERT или оператором SQL, способным возвращать сгенерированные ключи (список таких операторов зависит от поставщика).

Примечание: Этот метод не может быть вызван для объекта PreparedStatement или CallableStatement.

Параметры:
sql — SQL-оператор языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-оператор, не возвращающий ничего, например, оператор DDL.
autoGeneratedKeys — флаг, указывающий, должны ли сгенерированные ключи быть доступны для получения; одно из следующих констант: Statement.RETURN_GENERATED_KEYS Statement.NO_GENERATED_KEYS
Возвращает:
либо (1) количество строк для операторов языка манипулирования данными (DML), либо (2) 0 для SQL-операторов, не возвращающих ничего
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных, этот метод вызван для закрытого объекта Statement, заданное SQL-выражение возвращает объект ResultSet, заданное значение не является допустимым, метод вызван для объекта PreparedStatement или CallableStatement
SQLFeatureNotSupportedException — если драйвер JDBC не поддерживает этот метод с константой Statement.RETURN_GENERATED_KEYS
SQLTimeoutException — когда драйвер определил, что время ожидания, заданное методом setQueryTimeout, истекло, и по крайней мере попытался отменить текущее выполнение Statement
С:
1.4

executeUpdate

int executeUpdate(String sql,
                  int[] columnIndexes)
           throws SQLException

Выполняет заданное SQL-утверждение и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит индексы столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является INSERT утверждением или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

Примечание:Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, которое ничего не возвращает, например, утверждение DDL.
columnIndexes - массив индексов столбцов, указывающих столбцы, которые должны быть возвращены из вставленной строки
Возвращает:
либо (1) количество строк для SQL-утверждений языка манипулирования данными (DML), либо (2) 0 для SQL-утверждений, которые ничего не возвращают
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement, SQL-утверждение возвращает объект ResultSet, второй аргумент, переданный в этот метод, не является массивом int, чьи элементы являются допустимыми индексами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, превышено и по крайней мере предпринял попытку отменить текущее выполнение Statement
С:
1.4

executeUpdate

int executeUpdate(String sql,
                  String[] columnNames)
           throws SQLException

Выполняет заданное SQL-утверждение и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит имена столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является INSERT утверждением или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

Примечание:Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, которое ничего не возвращает, например, утверждение DDL.
columnNames - массив имён столбцов, которые должны быть возвращены из вставленной строки
Возвращает:
либо количество строк для INSERT, UPDATE или DELETE утверждений, либо 0 для SQL-утверждений, которые ничего не возвращают
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement, SQL-утверждение возвращает объект ResultSet, второй аргумент, переданный в этот метод, не является массивом String, чьи элементы являются допустимыми именами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, превышено и по крайней мере предпринял попытку отменить текущее выполнение Statement
С:
1.4

execute

boolean execute(String sql,
                int autoGeneratedKeys)
         throws SQLException

Выполняет заданное SQL-утверждение, которое может возвращать несколько результатов, и сигнализирует драйверу, что любые автоматически сгенерированные ключи должны быть доступны для извлечения. Драйвер проигнорирует этот сигнал, если SQL-утверждение не является INSERT утверждением или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

В некоторых (редких) ситуациях одно SQL-утверждение может возвращать несколько наборов результатов и/или счётчиков обновлений. Обычно этим можно пренебречь, если вы не (1) выполняете хранимую процедуру, о которой известно, что она может возвращать несколько результатов, или (2) динамически выполняете неизвестную строку SQL.

Метод execute выполняет SQL-утверждение и указывает форму первого результата. Затем вы должны использовать методы getResultSet или getUpdateCount для извлечения результата и getMoreResults для перехода к любым последующим результатам.

Примечание:Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Параметры:
sql - любое SQL-утверждение
autoGeneratedKeys - константа, указывающая, должны ли быть доступны для извлечения автоматически сгенерированные ключи, используя метод getGeneratedKeys; одна из следующих констант: Statement.RETURN_GENERATED_KEYS или Statement.NO_GENERATED_KEYS
Возвращает:
true, если первый результат — объект ResultSet; false, если это счётчик обновлений или результатов нет
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement, второй параметр, переданный в этот метод, не является Statement.RETURN_GENERATED_KEYS или Statement.NO_GENERATED_KEYS, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод с константой Statement.RETURN_GENERATED_KEYS
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, превышено и по крайней мере предпринял попытку отменить текущее выполнение Statement
С:
1.4
См. также:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()

execute

boolean execute(String sql,
                int[] columnIndexes)
         throws SQLException

Выполняет заданное SQL-утверждение, которое может возвращать несколько результатов, и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит индексы столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является INSERT утверждением или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

В некоторых (редких) ситуациях одно SQL-утверждение может возвращать несколько наборов результатов и/или счётчиков обновлений. Обычно этим можно пренебречь, если вы не (1) выполняете хранимую процедуру, о которой известно, что она может возвращать несколько результатов, или (2) динамически выполняете неизвестную строку SQL.

Метод execute выполняет SQL-утверждение и указывает форму первого результата. Затем вы должны использовать методы getResultSet или getUpdateCount для извлечения результата и getMoreResults для перехода к любым последующим результатам.

Примечание:Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Параметры:
sql - любое SQL-утверждение
columnIndexes - массив индексов столбцов в вставленной строке, которые должны быть доступны для извлечения с помощью вызова метода getGeneratedKeys
Возвращает:
true, если первый результат — объект ResultSet; false, если это счётчик обновлений или результатов нет
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement, элементы массива int, переданные в этот метод, не являются допустимыми индексами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, превышено и по крайней мере предпринял попытку отменить текущее выполнение Statement
С:
1.4
См. также:
getResultSet(), getUpdateCount(), getMoreResults()

execute

boolean execute(String sql,
                String[] columnNames)
         throws SQLException

Выполняет заданное SQL-утверждение, которое может возвращать несколько результатов, и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит имена столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является INSERT утверждением или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

В некоторых (редких) ситуациях одно SQL-утверждение может возвращать несколько наборов результатов и/или счётчиков обновлений. Обычно этим можно пренебречь, если вы не (1) выполняете хранимую процедуру, о которой известно, что она может возвращать несколько результатов, или (2) динамически выполняете неизвестную строку SQL.

Метод execute выполняет SQL-утверждение и указывает форму первого результата. Затем вы должны использовать методы getResultSet или getUpdateCount для извлечения результата и getMoreResults для перехода к любым последующим результатам.

Примечание:Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Параметры:
sql - любое SQL-утверждение
columnNames - массив имён столбцов в вставляемой строке, которые должны быть доступны для извлечения с помощью вызова метода getGeneratedKeys
Возвращает:
true, если следующий результат — объект ResultSet; false, если это количество обновлений или результатов больше нет
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement, элементы массива String, переданного в этот метод, не являются допустимыми именами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, было превышено, и он по крайней мере попытался отменить текущую выполняющуюся Statement
С:
1.4
См. также:
getResultSet(), getUpdateCount(), getMoreResults(), getGeneratedKeys()

getResultSetHoldability

int getResultSetHoldability()
                     throws SQLException

Извлекает сохраняемость набора результатов для объектов ResultSet, сгенерированных этим объектом Statement.

Возвращает:
либо ResultSet.HOLD_CURSORS_OVER_COMMIT, либо ResultSet.CLOSE_CURSORS_AT_COMMIT
Исключения:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого Statement
С:
1.4

isClosed

boolean isClosed()
          throws SQLException

Извлекает, закрыт ли этот объект Statement. Объект Statement закрыт, если на нём вызван метод close или если он закрывается автоматически.

Возвращает:
true, если этот объект Statement закрыт; false, если он всё ещё открыт
Исключения:
SQLException - если произошла ошибка доступа к базе данных
С:
1.6

setPoolable

void setPoolable(boolean poolable)
          throws SQLException

Запрашивает, должен ли объект Statement быть помещён в пул или нет. Указанное значение является подсказкой для реализации пула заявок, указывающей, хочет ли приложение, чтобы запрос был помещён в пул. Решение о том, использовать подсказку или нет, остаётся за менеджером пула заявок.

Значение poolable запроса применимо как к внутренним кэшам заявок, реализуемым драйвером, так и к внешним кэшам заявок, реализуемым серверами приложений и другими приложениями.

По умолчанию, объект Statement не является помещаемым в пул при создании, а PreparedStatement и CallableStatement являются помещаемыми в пул при создании.

Параметры:
poolable - запрашивает, что запрос должен быть помещен в пул, если true, и что запрос не должен быть помещен в пул, если false
Исключения:
SQLException - если этот метод вызван для закрытого Statement
С:
1.6

isPoolable

boolean isPoolable()
            throws SQLException

Возвращает значение, указывающее, помещаем ли Statement в пул.

Возвращает:
true, если Statement помещаемый в пул; false в противном случае
Исключения:
SQLException - если этот метод вызван для закрытого Statement
С:
1.6
См. также:
setPoolable(boolean)

closeOnCompletion

void closeOnCompletion()
                throws SQLException

Устанавливает, что этот объект Statement будет закрыт, когда все его зависимые наборы результатов будут закрыты. Если выполнение запроса Statement не приводит к созданию наборов результатов, этот метод не имеет эффекта.

Примечание: Несколько вызовов closeOnCompletion не переключают действие для этого объекта Statement. Однако вызов closeOnCompletion влияет как на последующее выполнение запросов, так и на запросы, которые в данный момент имеют открытые зависимые наборы результатов.

Исключения:
SQLException - если этот метод вызван для закрытого Statement
С:
1.7

isCloseOnCompletion

boolean isCloseOnCompletion()
                     throws SQLException

Возвращает значение, указывающее, будет ли этот объект Statement закрыт, когда все зависимые наборы результатов будут закрыты.

Возвращает:
true, если Statement будет закрыт, когда все зависимые наборы результатов будут закрыты; false в противном случае
Исключения:
SQLException - если этот метод вызван для закрытого Statement
С:
1.7

getLargeUpdateCount

default long getLargeUpdateCount()
                          throws SQLException

Извлекает текущий результат в виде счётчика обновлений; если результат — объект ResultSet или результатов больше нет, возвращается -1. Этот метод должен вызываться только один раз на результат.

Этот метод следует использовать, когда возвращаемое количество строк может превышать Integer.MAX_VALUE.

Реализация по умолчанию выбросит UnsupportedOperationException

Возвращает:
текущий результат в виде счётчика обновлений; -1, если текущий результат — объект ResultSet или результатов больше нет
Исключения:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого Statement
С:
1.8
См. также:
execute(java.lang.String)

setLargeMaxRows

default void setLargeMaxRows(long max)
                      throws SQLException

Устанавливает ограничение на максимальное число строк, которое может содержать любой объект ResultSet, сгенерированный этим объектом Statement, до указанного числа. Если предел превышен, избыточные строки отбрасываются без ошибок.

Этот метод следует использовать, когда предел строк может превышать Integer.MAX_VALUE.

Реализация по умолчанию выбросит UnsupportedOperationException

Параметры:
max - новый предел максимального количества строк; ноль означает отсутствие предела
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement или условие max >= 0 не выполняется
С:
1.8
См. также:
getMaxRows()

getLargeMaxRows

default long getLargeMaxRows()
                      throws SQLException

Возвращает максимальное количество строк, которое может содержать объект ResultSet, созданный этим объектом Statement. Если этот предел превышен, избыточные строки отбрасываются без ошибок.

Этот метод следует использовать, когда возвращаемый предел строк может превышать Integer.MAX_VALUE.

Реализация по умолчанию вернёт 0

Возвращает:
текущее максимальное количество строк для объекта ResultSet, созданного этим объектом Statement; ноль означает отсутствие предела
Исключения:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого Statement
С:
1.8
См. также:
setMaxRows(int)

executeLargeBatch

default long[] executeLargeBatch()
                          throws SQLException

Отправляет пакет команд в базу данных для выполнения и, если все команды успешно выполнятся, возвращает массив счётчиков обновлений. Элементы массива, возвращаемого методом long, упорядочены таким образом, чтобы соответствовать командам в пакете, упорядоченным по порядку их добавления в пакет. Элементы массива, возвращаемого методом executeLargeBatch, могут быть следующими:

  1. Число большее или равное нулю — указывает, что команда была обработана успешно и является счётчиком обновлений, указывающим число строк в базе данных, затронутых выполнением команды
  2. Значение SUCCESS_NO_INFO — указывает, что команда была обработана успешно, но число затронутых строк неизвестно

    Если одна из команд в паке обновлений не выполняется должным образом, этот метод выбрасывает исключение BatchUpdateException, и драйвер JDBC может либо продолжить обработку оставшихся команд в пакете, либо нет. Однако поведение драйвера должно быть согласованным с конкретным СУБД: либо всегда продолжать обработку команд, либо никогда не продолжать обработку команд. Если драйвер продолжает обработку после сбоя, массив, возвращаемый методом BatchUpdateException.getLargeUpdateCounts, будет содержать столько элементов, сколько команд в пакете, и, по крайней мере, один из элементов будет следующим:

  3. Значение EXECUTE_FAILED — указывает, что команда не выполнилась успешно и возникает только в том случае, если драйвер продолжает обработку команд после сбоя

Этот метод следует использовать, когда возвращаемое количество строк может превышать Integer.MAX_VALUE.

Реализация по умолчанию выбросит UnsupportedOperationException

Возвращает:
массив счётчиков обновлений, содержащий по одному элементу для каждой команды в пакете. Элементы массива упорядочены в соответствии с порядком добавления команд в пакет.
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого Statement или драйвер не поддерживает пакетные запросы. Выбрасывает BatchUpdateException (подкласс SQLException), если одна из команд, отправленных в базу данных, не выполнилась должным образом или попыталась вернуть набор результатов.
SQLTimeoutException - когда драйвер определил, что значение таймаута, заданное методом setQueryTimeout, было превышено, и он по крайней мере попытался отменить текущую выполняющуюся Statement
С:
1.8
См. также:
addBatch(java.lang.String), DatabaseMetaData.supportsBatchUpdates()

executeLargeUpdate

default long executeLargeUpdate(String sql)
                         throws SQLException

Выполняет заданное SQL-утверждение, которое может быть утверждением INSERT, UPDATE или DELETE, или SQL-утверждением, не возвращающим строк, например, SQL-утверждением DDL.

Этот метод следует использовать, когда количество возвращённых строк может превысить Integer.MAX_VALUE.

Примечание: Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Реализация по умолчанию будет генерировать исключение UnsupportedOperationException

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, не возвращающее строк, например, утверждение DDL.
Возвращает:
либо (1) количество строк для SQL-утверждений языка манипулирования данными (DML), либо (2) 0 для SQL-утверждений, не возвращающих строк.
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызван для закрытого Statement, заданное SQL-утверждение возвращает объект ResultSet, метод вызван для PreparedStatement или CallableStatement
SQLTimeoutException - когда драйвер определил, что значение таймаута, указанное методом setQueryTimeout, превышено и, по крайней мере, попытался отменить выполняющееся в данный момент Statement
С:
1.8

executeLargeUpdate

default long executeLargeUpdate(String sql,
                                int autoGeneratedKeys)
                         throws SQLException

Выполняет заданное SQL-утверждение и сигнализирует драйверу с помощью заданного флага о том, должны ли автоматически сгенерированные ключи, созданные этим объектом Statement, быть доступными для извлечения. Драйвер проигнорирует флаг, если SQL-утверждение не является утверждением INSERT или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

Этот метод следует использовать, когда количество возвращённых строк может превысить Integer.MAX_VALUE.

Примечание: Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Реализация по умолчанию будет генерировать исключение SQLFeatureNotSupportedException

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, не возвращающее строк, например, утверждение DDL.
autoGeneratedKeys - флаг, указывающий, должны ли автоматически сгенерированные ключи быть доступными для извлечения; одна из следующих констант: Statement.RETURN_GENERATED_KEYS Statement.NO_GENERATED_KEYS
Возвращает:
либо (1) количество строк для SQL-утверждений языка манипулирования данными (DML), либо (2) 0 для SQL-утверждений, не возвращающих строк.
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызван для закрытого Statement, заданное SQL-утверждение возвращает объект ResultSet, заданная константа не является разрешенной, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод с константой Statement.RETURN_GENERATED_KEYS
SQLTimeoutException - когда драйвер определил, что значение таймаута, указанное методом setQueryTimeout, превышено и, по крайней мере, попытался отменить выполняющееся в данный момент Statement
С:
1.8

executeLargeUpdate

default long executeLargeUpdate(String sql,
                                int[] columnIndexes)
                         throws SQLException

Выполняет заданное SQL-утверждение и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит индексы столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является утверждением INSERT или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

Этот метод следует использовать, когда количество возвращённых строк может превысить Integer.MAX_VALUE.

Примечание: Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Реализация по умолчанию будет генерировать исключение SQLFeatureNotSupportedException

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, не возвращающее строк, например, утверждение DDL.
columnIndexes - массив индексов столбцов, указывающих столбцы, которые должны быть возвращены из вставленной строки
Возвращает:
либо (1) количество строк для SQL-утверждений языка манипулирования данными (DML), либо (2) 0 для SQL-утверждений, не возвращающих строк.
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызван для закрытого Statement, SQL-утверждение возвращает объект ResultSet, второй аргумент, переданный в этот метод, не является массивом int, элементы которого являются допустимыми индексами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
SQLTimeoutException - когда драйвер определил, что значение таймаута, указанное методом setQueryTimeout, превышено и, по крайней мере, попытался отменить выполняющееся в данный момент Statement
С:
1.8

executeLargeUpdate

default long executeLargeUpdate(String sql,
                                String[] columnNames)
                         throws SQLException

Выполняет заданное SQL-утверждение и сигнализирует драйверу, что автоматически сгенерированные ключи, указанные в заданном массиве, должны быть доступны для извлечения. Этот массив содержит имена столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть доступны. Драйвер проигнорирует массив, если SQL-утверждение не является утверждением INSERT или SQL-утверждением, способным возвращать автоматически сгенерированные ключи (список таких утверждений зависит от поставщика).

Этот метод следует использовать, когда количество возвращённых строк может превысить Integer.MAX_VALUE.

Примечание: Этот метод нельзя вызывать для PreparedStatement или CallableStatement.

Реализация по умолчанию будет генерировать исключение SQLFeatureNotSupportedException

Параметры:
sql - SQL-утверждение языка манипулирования данными (DML), например, INSERT, UPDATE или DELETE; или SQL-утверждение, не возвращающее строк, например, утверждение DDL.
columnNames - массив имён столбцов, которые должны быть возвращены из вставленной строки
Возвращает:
количество строк для утверждений INSERT, UPDATE или DELETE, или 0 для SQL-утверждений, не возвращающих строк.
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызван для закрытого Statement, SQL-утверждение возвращает объект ResultSet, второй аргумент, переданный в этот метод, не является массивом String, элементы которого являются допустимыми именами столбцов, метод вызван для PreparedStatement или CallableStatement
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API