Интерфейс CachedRowSet
- Все суперинтерфейсы:
AutoCloseable, Joinable, ResultSet, RowSet, Wrapper
- Все известные подинтерфейсы:
FilteredRowSet, JoinRowSet, WebRowSet
public interface CachedRowSet extends RowSet, Joinable
CachedRowSet. Эталонная реализация интерфейса CachedRowSet, предоставляемая корпорацией Oracle, является стандартной реализацией. Разработчики могут использовать эту реализацию без изменений, расширить её или написать собственные реализации этого интерфейса.
Объект CachedRowSet представляет собой контейнер строк данных, кэшируемых в памяти, что позволяет работать с ними без постоянного подключения к источнику данных. Кроме того, это компонент JavaBeans, поддерживающий прокрутку, обновление и сериализацию. Объект CachedRowSet обычно содержит строки из набора результатов, но также может содержать строки из любого файла с табличным форматом, например электронной таблицы. Эталонная реализация поддерживает получение данных только из объекта ResultSet, однако разработчики могут расширить реализации SyncProvider, чтобы обеспечить доступ к другим табличным источникам данных.
Приложение может изменять данные в объекте CachedRowSet, а затем передавать эти изменения обратно в источник данных.
Объект CachedRowSet представляет собой отключённый набор строк, то есть использует соединение с источником данных лишь в течение короткого времени. Он подключается к источнику данных при чтении данных для заполнения строками и снова при передаче изменений в базовый источник данных. В остальное время объект CachedRowSet отключён, в том числе во время изменения его данных. Благодаря отключённому состоянию объект RowSet становится гораздо более компактным и поэтому его значительно проще передавать другому компоненту. Например, отключённый объект RowSet можно сериализовать и передать по сети тонкому клиенту, например персональному цифровому помощнику (PDA).
1.0 Создание объекта CachedRowSet
Следующая строка кода использует конструктор по умолчанию для CachedRowSet, предоставляемый эталонной реализацией (RI), чтобы создать объект CachedRowSet со значениями по умолчанию.
CachedRowSetImpl crs = new CachedRowSetImpl();
У этого нового объекта CachedRowSet будут заданы свойства по умолчанию объекта BaseRowSet, а также в качестве поставщика синхронизации будет использоваться объект RIOptimisticProvider. RIOptimisticProvider — одна из двух реализаций SyncProvider, включённых в RI, — является поставщиком по умолчанию, который будет предоставлен синглтоном SyncFactory, если поставщик синхронизации не указан. Объект SyncProvider предоставляет объекту CachedRowSet средство чтения (объект RowSetReader) для чтения данных из источника данных и заполнения ими объекта. Средство чтения можно реализовать для чтения данных из объекта ResultSet или из файла с табличным форматом. Объект SyncProvider также предоставляет средство записи (объект RowSetWriter) для синхронизации изменений данных объекта CachedRowSet, внесённых в отключённом состоянии, с данными в базовом источнике данных.
Средство записи можно реализовать так, чтобы оно с разной степенью тщательности проверяло наличие конфликтов и предотвращало их. (Конфликт возникает, когда значение в источнике данных изменилось после того, как набор строк был заполнен этим значением.) Реализация RIOptimisticProvider предполагает, что конфликтов будет мало или не будет вовсе, и поэтому не устанавливает блокировки. Она обновляет источник данных значениями из объекта CachedRowSet, только если конфликтов нет. Другие средства записи можно реализовать так, чтобы они всегда записывали изменённые данные в источник данных. Этого можно добиться либо отказавшись от проверки конфликтов, либо, на противоположном конце спектра, установив блокировки, достаточные для предотвращения изменения данных в источнике. Возможны и другие реализации средств записи, занимающие промежуточное положение.
Объект CachedRowSet может использовать любую реализацию SyncProvider, зарегистрированную в синглтоне SyncFactory. Приложение может узнать, какие реализации SyncProvider зарегистрированы, выполнив следующую строку кода.
java.util.Enumeration providers = SyncFactory.getRegisteredProviders();
Объект CachedRowSet может указать используемый объект SyncProvider двумя способами.
- Передать имя реализации конструктору
Следующая строка кода создаёт объектCachedRowSetcrs2, инициализированный значениями по умолчанию, за исключением того, что его объектомSyncProviderбудет указанный объект.CachedRowSetImpl crs2 = new CachedRowSetImpl( "com.fred.providers.HighAvailabilityProvider"); - Установить
SyncProviderс помощью методаCachedRowSetsetSyncProvider
Следующая строка кода задаёт новый объектSyncProviderдля crs — объектаCachedRowSet, созданного конструктором по умолчанию.crs.setSyncProvider("com.fred.providers.HighAvailabilityProvider");
SyncFactory и SyncProvider. 2.0 Получение данных из объекта CachedRowSet
Данные из объекта CachedRowSet получают с помощью методов получения, унаследованных от интерфейса ResultSet. В следующих примерах, где crs является объектом CachedRowSet, показано, как выполнять перебор строк и получать значения столбцов в каждой строке. В первом примере используется вариант методов получения, принимающий номер столбца; во втором — вариант, принимающий имя столбца. Номера столбцов обычно используются, когда команда объекта RowSet имеет вид SELECT * FROM TABLENAME; имена столбцов чаще всего используются, когда команда задаёт столбцы по именам.
while (crs.next()) {
String name = crs.getString(1);
int id = crs.getInt(2);
Clob comment = crs.getClob(3);
short dept = crs.getShort(4);
System.out.println(name + " " + id + " " + comment + " " + dept);
}
while (crs.next()) {
String name = crs.getString("NAME");
int id = crs.getInt("ID");
Clob comment = crs.getClob("COM");
short dept = crs.getShort("DEPT");
System.out.println(name + " " + id + " " + comment + " " + dept);
}
2.1 Получение RowSetMetaData
Приложение может получить сведения о столбцах объекта CachedRowSet, вызвав методы ResultSetMetaData и RowSetMetaData для объекта RowSetMetaData. В следующем фрагменте кода, где crs является объектом CachedRowSet, показано, как это сделать. В первой строке создаётся объект RowSetMetaData со сведениями о столбцах объекта crs. Метод getMetaData, унаследованный от интерфейса ResultSet, возвращает объект ResultSetMetaData, который перед присваиванием переменной rsmd приводится к типу объекта RowSetMetaData. Во второй строке определяется количество столбцов в jrs, а в третьей — тип JDBC значений, хранящихся во втором столбце jrs.
RowSetMetaData rsmd = (RowSetMetaData)crs.getMetaData();
int count = rsmd.getColumnCount();
int type = rsmd.getColumnType(2);
Интерфейс RowSetMetaData отличается от интерфейса ResultSetMetaData двумя особенностями. -
Он включает методы
setter: ОбъектRowSetиспользует эти методы внутри себя при заполнении данными из другого объектаResultSet. -
Он содержит меньше методов
getter: Некоторые методыResultSetMetaDataнеприменимы к объектуRowSet. Например, методы, возвращающие сведения о том, доступен ли столбец для записи или предназначен только для чтения, неприменимы, поскольку все столбцы объектаRowSetдоступны для записи или предназначены только для чтения в зависимости от того, поддерживает ли набор строк обновление.
RowSetMetaData, реализации должны переопределить метод getMetaData(), определённый в java.sql.ResultSet, и возвращать объект RowSetMetaData. 3.0 Обновление объекта CachedRowSet
Обновление объекта CachedRowSet похоже на обновление объекта ResultSet, однако, поскольку во время обновления набор строк не подключён к источнику данных, для применения изменений в базовом источнике данных требуется дополнительный шаг. После вызова метода updateRow или insertRow объект CachedRowSet должен также вызвать метод acceptChanges, чтобы записать обновления в источник данных. В следующем примере, где курсор находится на строке объекта CachedRowSet crs, показан код для обновления значений двух столбцов текущей строки и базового источника данных объекта RowSet.
crs.updateShort(3, 58);
crs.updateInt(4, 150000);
crs.updateRow();
crs.acceptChanges();
В следующем примере показано, как перейти к строке вставки, создать в ней новую строку, вставить её в набор строк, а затем вызвать метод acceptChanges, чтобы добавить новую строку в базовый источник данных. Обратите внимание: как и методы получения, методы обновления могут принимать либо индекс столбца, либо его имя для указания обрабатываемого столбца.
crs.moveToInsertRow();
crs.updateString("Name", "Shakespeare");
crs.updateInt("ID", 10098347);
crs.updateShort("Age", 58);
crs.updateInt("Sal", 150000);
crs.insertRow();
crs.moveToCurrentRow();
crs.acceptChanges();
ПРИМЕЧАНИЕ. Место, в которое метод insertRow() вставляет содержимое строки вставки объекта CachedRowSet, определяется реализацией. Эталонная реализация интерфейса CachedRowSet вставляет новую строку сразу после текущей, однако новую строку можно реализовать так, чтобы она вставлялась в любое другое место.
Ещё один важный момент в этих примерах — использование метода acceptChanges. Именно этот метод передаёт изменения объекта CachedRowSet обратно в базовый источник данных, вызывая внутри себя средство записи объекта RowSet для записи изменений в источник данных. Для этого средству записи приходится устанавливать соединение с источником данных, что требует дополнительных ресурсов. В двух приведённых выше фрагментах кода метод acceptChanges вызывается сразу после вызова updateRow или insertRow. Однако при изменении нескольких строк эффективнее вызвать acceptChanges после всех вызовов updateRow и insertRow. Если вызвать acceptChanges только один раз, потребуется установить лишь одно соединение.
4.0 Обновление базового источника данных
При выполнении методаacceptChanges средство записи объекта CachedRowSet — объект RowSetWriterImpl — незаметно для пользователя вызывается для записи изменений, внесённых в набор строк, в базовый источник данных. Средство записи реализовано так, чтобы устанавливать соединение с источником данных и записывать в него обновления. Средство записи предоставляется реализацией интерфейса SyncProvider, как описано в разделе 1 «Создание объекта CachedRowSet». В поставщике эталонной реализации по умолчанию, RIOptimisticProvider, средство записи реализовано с использованием механизма оптимистичного управления параллелизмом. То есть, пока набор строк отключён от базы данных, блокировки в базовой базе данных не поддерживаются; вместо этого перед записью данных в источник средство записи просто проверяет наличие конфликтов. При обнаружении конфликтов данные в источник не записываются.
Предоставляемые классом SyncProvider средства чтения и записи можно заменять, что позволяет настраивать получение и обновление данных. Если требуется другой механизм управления параллелизмом, можно подключить другую реализацию SyncProvider с помощью метода setSyncProvider.
Для использования процедуры оптимистичного управления параллелизмом объект RIOptimisticProvider хранит как текущее, так и исходное значение (значение, которое было непосредственно перед текущим). Обратите внимание: если данные в объекте RowSet не изменялись, его текущие и исходные значения совпадают и равны значениям, которыми объект RowSet был заполнен изначально. Однако после изменения любого значения в объекте RowSet текущие и исходные значения будут различаться, хотя на этом этапе исходные значения всё ещё будут исходными значениями. При последующих изменениях данных в объекте RowSet его исходные и текущие значения по-прежнему будут различаться, но исходными значениями станут те, которые ранее были текущими.
Отслеживание исходных значений позволяет средству записи сравнить исходное значение объекта RowSet со значением в базе данных. Если значения в базе данных отличаются от исходных значений объекта RowSet, то есть если значения в базе данных были изменены, возникает конфликт. Проверяет ли средство записи конфликты, насколько тщательно оно это делает и как обрабатывает конфликты — всё это зависит от его реализации.
5.0 Регистрация слушателей и уведомление о событиях
Будучи компонентами JavaBeans, все наборы строк участвуют в модели событий JavaBeans и наследуют от классаBaseRowSet методы регистрации слушателей и уведомления их об изменениях. Слушатель объекта CachedRowSet — это компонент, который должен получать уведомления об изменениях в наборе строк. Например, если объект CachedRowSet содержит результаты запроса, отображаемые, скажем, в таблице и на столбчатой диаграмме, таблицу и диаграмму можно зарегистрировать в качестве слушателей набора строк, чтобы они могли обновляться при изменениях. Чтобы стать слушателями, классы таблицы и диаграммы должны реализовать интерфейс RowSetListener. Затем их можно добавить в список слушателей объекта CachedRowSet, как показано в следующих строках кода. crs.addRowSetListener(table); crs.addRowSetListener(barGraph);Каждый метод
CachedRowSet, перемещающий курсор или изменяющий данные, также уведомляет зарегистрированных слушателей об изменениях, поэтому table и barGraph получат уведомление при изменении crs. 6.0 Передача данных тонким клиентам
Одна из основных причин использовать объектCachedRowSet — передача данных между различными компонентами приложения. Поскольку объект CachedRowSet поддерживает сериализацию, его можно использовать, например, для отправки результата запроса, выполненного компонентом Enterprise JavaBeans на сервере, по сети клиенту, работающему в веб-браузере. В отключённом состоянии объект CachedRowSet может быть гораздо компактнее объекта ResultSet с теми же данными. Поэтому он особенно подходит для отправки данных тонкому клиенту, например PDA, где использование драйвера JDBC было бы неуместным из-за ограничений ресурсов или соображений безопасности. Таким образом, объект CachedRowSet позволяет «передавать строки» без необходимости реализовывать полный API JDBC.
7.0 Прокрутка и обновление
CachedRowSet — обеспечение прокрутки и обновления объектов ResultSet, которые сами не поддерживают эти возможности. Иными словами, объект CachedRowSet можно использовать для расширения возможностей драйвера с поддержкой технологии JDBC (далее — «драйвер JDBC»), если СУБД не обеспечивает полную поддержку прокрутки и обновления. Чтобы сделать непрокручиваемый и доступный только для чтения объект ResultSet прокручиваемым и обновляемым, программисту достаточно создать объект CachedRowSet, заполненный данными этого объекта ResultSet. Это показано в следующем фрагменте кода, где stmt — объект Statement.
ResultSet rs = stmt.executeQuery("SELECT * FROM EMPLOYEES");
CachedRowSetImpl crs = new CachedRowSetImpl();
crs.populate(rs);
Теперь объект crs содержит данные из таблицы EMPLOYEES, как и объект rs. Разница в том, что курсор для crs можно перемещать вперёд, назад или к определённой строке, даже если курсор для rs может двигаться только вперёд. Кроме того, crs доступен для обновления, даже если rs не доступен, поскольку по умолчанию объект CachedRowSet поддерживает прокрутку и обновление.
Таким образом, объект CachedRowSet можно рассматривать просто как отключённый от источника данных набор строк, кэшируемых вне источника. Будучи компактным и сериализуемым, его легко передать по сети, поэтому он хорошо подходит для передачи данных тонкому клиенту. Однако у объекта CachedRowSet есть ограничение: его размер ограничен объёмом данных, которые он может одновременно хранить в памяти.
8.0 Универсальный доступ к данным
Ещё одно преимущество классаCachedRowSet состоит в том, что он позволяет получать и хранить данные из источников, отличных от реляционной базы данных. Читатель набора строк можно реализовать так, чтобы он считывал данные из любого табличного источника данных и заполнял ими набор строк, в том числе данными из электронной таблицы или текстового файла. Поскольку объект CachedRowSet и его метаданные можно создать с нуля, компонент, выполняющий роль фабрики наборов строк, может использовать эту возможность для создания набора строк с данными из источников, не использующих SQL. Тем не менее предполагается, что большую часть времени объекты CachedRowSet будут содержать данные, полученные из базы данных SQL с помощью API JDBC. 9.0 Настройка свойств
Все наборы строк поддерживают набор свойств, которые обычно задаются с помощью инструмента. Количество и виды свойств набора строк зависят от его назначения и способа получения данных. Например, наборы строк, получающие данные из объектаResultSet, должны задать свойства, необходимые для подключения к базе данных. Если набор строк использует для подключения средство DriverManager, ему нужно задать свойство для URL-адреса JDBC, указывающего соответствующий драйвер, а также свойства, содержащие имя пользователя и пароль. Если же набор строк использует для подключения объект DataSource, что является предпочтительным способом, задавать свойство для URL-адреса JDBC не требуется. Вместо этого необходимо задать свойства для логического имени источника данных, имени пользователя и пароля. ПРИМЕЧАНИЕ. Чтобы использовать объект DataSource для подключения, объект DataSource необходимо зарегистрировать в службе именования, использующей API Java Naming and Directory Interface (JNDI). Обычно такую регистрацию выполняет системный администратор.
Чтобы набор строк мог заполнить себя данными из базы данных, ему необходимо задать свойство команды. Это свойство представляет собой запрос — объект PreparedStatement, позволяющий задавать параметры-заполнители во время выполнения, а не на этапе проектирования. Для задания значений этих параметров-заполнителей набор строк предоставляет методы установки значений для каждого типа данных, аналогичные методам установки, предоставляемым интерфейсом PreparedStatement.
Следующий фрагмент кода показывает, как можно задать свойство команды объекта CachedRowSet crs. Обратите внимание: если для настройки свойств используется инструмент, он создаст именно такой код.
crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS " +
"WHERE CREDIT_LIMIT > ? AND REGION = ?");
Значения, которые будут использоваться для задания параметров-заполнителей команды, содержатся в поле params объекта RowSet, представляющем собой объект Vector. Класс CachedRowSet предоставляет набор методов установки для задания элементов поля params. Следующий фрагмент кода показывает, как задать два параметра запроса из предыдущего примера.
crs.setInt(1, 5000); crs.setString(2, "West");
Теперь поле params содержит два элемента, каждый из которых представляет собой массив из двух элементов. Первый элемент — номер параметра, второй — задаваемое значение. В данном случае первый элемент params — это 1, 5000, а второй элемент — 2, "West". Когда приложение вызывает метод execute, он, в свою очередь, вызывает читатель этого объекта RowSet, который затем вызывает свой метод readData. В рамках своей реализации readData получит значения из params и использует их для задания параметров-заполнителей команды. Следующий фрагмент кода показывает, как читатель это делает после получения объекта Connection con.
PreparedStatement pstmt = con.prepareStatement(crs.getCommand());
reader.decodeParams();
// decodeParams figures out which setter methods to use and does something
// like the following:
// for (i = 0; i < params.length; i++) {
// pstmt.setObject(i + 1, params[i]);
// }
На этом этапе команда для crs представляет собой запрос "SELECT
FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS WHERE CREDIT_LIMIT > 5000
AND REGION = "West". После выполнения этой команды методом readData с помощью следующей строки кода у него будут данные из rs, которыми можно заполнить crs.
ResultSet rs = pstmt.executeQuery();
Предыдущие фрагменты кода дают представление о том, что происходит в фоновом режиме; в приложении они не встречаются, поскольку приложение не вызывает такие методы, как readData и decodeParams. Напротив, следующий фрагмент кода показывает, что может делать приложение. Оно задаёт команду набора строк, устанавливает параметры команды и выполняет её. Просто вызвав метод execute, crs заполняет себя запрошенными данными из таблицы CUSTOMERS.
crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" +
"WHERE CREDIT_LIMIT > ? AND REGION = ?");
crs.setInt(1, 5000);
crs.setString(2, "West");
crs.execute();
10.0 Постраничное получение данных
Поскольку объектCachedRowSet хранит данные в памяти, объём данных, который он может одновременно содержать, зависит от доступного объёма памяти. Чтобы обойти это ограничение, объект CachedRowSet может получать данные из объекта ResultSet фрагментами, называемыми страницами. Чтобы воспользоваться этим механизмом, приложение задаёт количество строк на странице с помощью метода setPageSize. Иными словами, если размер страницы установлен равным пяти, за один раз из источника данных будет извлекаться фрагмент из пяти строк. Приложение также может задать максимальное количество строк, извлекаемых за один раз. Если максимальное количество строк равно нулю или оно не задано, число строк, извлекаемых за один раз, не ограничено. После задания свойств объект CachedRowSet необходимо заполнить данными с помощью метода populate или execute. В следующих строках кода показано использование метода populate. Обратите внимание, что эта версия метода принимает два параметра: дескриптор ResultSet и строку объекта ResultSet, с которой следует начать извлечение строк.
CachedRowSet crs = new CachedRowSetImpl();
crs.setMaxRows(20);
crs.setPageSize(4);
crs.populate(rsHandle, 10);
После выполнения этого кода crs будет содержать четыре строки из rsHandle, начиная с десятой строки. В следующем фрагменте кода показано заполнение объекта CachedRowSet с помощью метода execute, который может принимать или не принимать объект Connection в качестве параметра. В этом коде методу execute передаётся объект Connection conHandle.
Обратите внимание на два отличия следующего фрагмента кода от предыдущего. Во-первых, метод setMaxRows не вызывается, поэтому количество строк, которое может содержать crs, не ограничено. (Помните, что для crs всегда действует ограничение, определяемое объёмом данных, которые он может хранить в памяти.) Второе отличие состоит в том, что методу execute нельзя передать номер строки объекта ResultSet, с которой следует начать извлечение строк. Этот метод всегда начинает с первой строки.
CachedRowSet crs = new CachedRowSetImpl();
crs.setPageSize(5);
crs.execute(conHandle);
После выполнения этого кода crs будет содержать пять строк данных из объекта ResultSet, созданного командой для crs. Записыватель crs использует conHandle для подключения к источнику данных и выполнения команды для crs. Затем приложение может работать с данными в crs так же, как и с данными в любом другом объекте CachedRowSet. Чтобы получить следующую страницу (фрагмент данных), приложение вызывает метод nextPage. Этот метод создаёт новый объект CachedRowSet и заполняет его следующей страницей данных. Например, предположим, что команда объекта CachedRowSet возвращает объект ResultSet rs с 1000 строками данных. Если размер страницы установлен равным 100, первый вызов метода nextPage создаст объект CachedRowSet, содержащий первые 100 строк rs. Выполнив необходимые действия с данными этих первых 100 строк, приложение может снова вызвать метод nextPage, чтобы создать ещё один объект CachedRowSet со следующими 100 строками из rs. Данные первого объекта CachedRowSet больше не будут находиться в памяти, поскольку их заменят данные второго объекта CachedRowSet. После десятого вызова метода nextPage десятый объект CachedRowSet будет содержать последние 100 строк данных из rs, хранящиеся в памяти. В каждый момент времени в памяти хранятся данные только одного объекта CachedRowSet.
Метод nextPage возвращает true, пока текущая страница не является последней страницей строк, и false, когда страниц больше нет. Поэтому его можно использовать в цикле while для извлечения всех страниц, как показано в следующих строках кода.
CachedRowSet crs = CachedRowSetImpl();
crs.setPageSize(100);
crs.execute(conHandle);
while(crs.nextPage()) {
while(crs.next()) {
. . . // operate on chunks (of 100 rows each) in crs,
// row by row
}
}
После выполнения этого фрагмента кода приложение пройдёт все 1000 строк, но одновременно в памяти будет находиться не более 100 строк. Интерфейс CachedRowSet также определяет метод previousPage. Так же как метод nextPage аналогичен методу ResultSet интерфейса next, метод previousPage аналогичен методу ResultSet интерфейса previous. Подобно методу nextPage, previousPage создаёт объект CachedRowSet, содержащий количество строк, заданное размером страницы. Например, метод previousPage можно использовать в цикле while в конце предыдущего фрагмента кода, чтобы перемещаться по страницам от последней к первой. Метод previousPage также похож на nextPage тем, что его можно использовать в цикле while, однако он возвращает true, пока перед ним есть предыдущая страница, и false, когда предыдущих страниц больше нет.
Если, как в следующем фрагменте кода, установить курсор после последней строки каждой страницы, метод previous будет перемещать курсор от последней строки к первой на каждой странице. Можно было также оставить курсор перед первой строкой каждой страницы, а затем использовать метод next в цикле while для перемещения по каждой странице от первой строки к последней.
Следующий фрагмент кода предполагает продолжение предыдущего фрагмента, то есть курсор десятого объекта CachedRowSet находится на последней строке. Код перемещает курсор за последнюю строку, чтобы первый вызов метода previous вернул курсор на последнюю строку. Пройдя все строки последней страницы (объекта CachedRowSet crs), код переходит в цикл while, чтобы перейти к девятой странице, пройти строки в обратном порядке, перейти к восьмой странице, пройти строки в обратном порядке и так далее до первой строки первой страницы.
crs.afterLast();
while(crs.previous()) {
. . . // navigate through the rows, last to first
{
while(crs.previousPage()) {
crs.afterLast();
while(crs.previous()) {
. . . // go from the last row to the first row of each page
}
}
- Начиная с:
- 1.5
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final boolean |
COMMIT_ON_ACCEPT_CHANGES |
Устарело. Поскольку это поле является final (оно входит в интерфейс), его значение нельзя изменить. |
Поля, объявленные в интерфейсе ResultSet
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
CLOSE_CURSORS_AT_COMMIT |
Константа, указывающая, что открытые объекты ResultSet с таким режимом удержания будут закрыты при фиксации текущей транзакции. |
static final int |
CONCUR_READ_ONLY |
Константа, указывающая режим конкурентного доступа для объекта ResultSet, который НЕ может быть обновлён. |
static final int |
CONCUR_UPDATABLE |
Константа, указывающая режим конкурентного доступа для объекта ResultSet, который может быть обновлён. |
static final int |
FETCH_FORWARD |
Константа, указывающая, что строки в наборе результатов будут обрабатываться в прямом направлении — от первой к последней. |
static final int |
FETCH_REVERSE |
Константа, указывающая, что строки в наборе результатов будут обрабатываться в обратном направлении — от последней к первой. |
static final int |
FETCH_UNKNOWN |
Константа, указывающая, что порядок обработки строк в наборе результатов неизвестен. |
static final int |
HOLD_CURSORS_OVER_COMMIT |
Константа, указывающая, что открытые объекты ResultSet с таким режимом удержания останутся открытыми при фиксации текущей транзакции. |
static final int |
TYPE_FORWARD_ONLY |
Константа, указывающая тип объекта ResultSet, курсор которого может перемещаться только вперёд. |
static final int |
TYPE_SCROLL_INSENSITIVE |
Константа, указывающая тип объекта ResultSet, который допускает прокрутку, но обычно не реагирует на изменения данных, лежащих в основе ResultSet. |
static final int |
TYPE_SCROLL_SENSITIVE |
Константа, указывающая тип объекта ResultSet, который допускает прокрутку и обычно реагирует на изменения данных, лежащих в основе ResultSet. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
acceptChanges() |
Передает источнику данных изменения строк, включая обновления, вставки и удаления, внесенные в этот объект CachedRowSet. |
void |
acceptChanges |
Передает все изменения строк, включая обновления, вставки и удаления, источнику данных, на котором основан этот объект CachedRowSet, используя указанный объект Connection для установления соединения с источником данных. |
boolean |
columnUpdated |
Указывает, обновлялся ли указанный столбец в текущей строке этого объекта CachedRowSet. |
boolean |
columnUpdated |
Указывает, обновлялся ли указанный столбец в текущей строке этого объекта CachedRowSet. |
void |
commit() |
Объект CachedRowSet содержит в своем SyncProvider объект Connection из ResultSet или свойства JDBC, переданные его конструкторам. |
CachedRowSet |
createCopy() |
Создает объект RowSet, являющийся глубокой копией данных этого объекта CachedRowSet. |
CachedRowSet |
createCopyNoConstraints() |
Создает объект CachedRowSet, являющийся глубокой копией данных этого объекта CachedRowSet, но не связанный с ним. |
CachedRowSet |
createCopySchema() |
Создает объект CachedRowSet, являющийся пустой копией этого объекта CachedRowSet. |
RowSet |
createShared() |
Возвращает новый объект RowSet, использующий те же данные, что и этот объект CachedRowSet. |
void |
execute |
Заполняет этот объект CachedRowSet данными, используя заданное соединение для создания результирующего набора, из которого будут считываться данные. |
int[] |
getKeyColumns() |
Возвращает массив с одним или несколькими номерами столбцов, указывающими столбцы, образующие ключ, который однозначно идентифицирует строку в этом объекте CachedRowSet. |
ResultSet |
getOriginal() |
Возвращает объект ResultSet, содержащий исходное значение этого объекта CachedRowSet. |
ResultSet |
getOriginalRow() |
Возвращает объект ResultSet, содержащий исходное значение только текущей строки этого объекта CachedRowSet. |
int |
getPageSize() |
Возвращает размер страницы для объекта CachedRowSet |
RowSetWarning |
getRowSetWarnings() |
Получает первое предупреждение, выданное при вызовах этого объекта RowSet. |
boolean |
getShowDeleted() |
Получает значение boolean, указывающее, отображаются ли помеченные для удаления строки в наборе текущих строк. |
SyncProvider |
getSyncProvider() |
Получает реализацию SyncProvider для этого объекта CachedRowSet. |
String |
getTableName() |
Возвращает идентификатор объекта (таблицы), использованного для создания этого объекта CachedRowSet. |
boolean |
nextPage() |
Переходит к следующей странице объекта CachedRowSet. |
void |
populate |
Заполняет этот объект CachedRowSet данными из заданного объекта ResultSet. |
void |
populate |
Заполняет этот объект CachedRowSet данными из заданного объекта ResultSet. |
boolean |
previousPage() |
Переходит к предыдущей странице объекта CachedRowSet. |
void |
release() |
Освобождает текущее содержимое этого объекта CachedRowSet и отправляет событие rowSetChanged всем зарегистрированным слушателям. |
void |
restoreOriginal() |
Восстанавливает исходное значение этого объекта CachedRowSet, то есть значение, которое было до последнего набора изменений. |
void |
rollback() |
Объект CachedRowSet содержит в своем SyncProvider объект Connection из исходных свойств ResultSet или JDBC, переданных ему. |
void |
rollback |
Объект CachedRowSet содержит в своем SyncProvider объект Connection из исходных свойств ResultSet или JDBC, переданных ему. |
void |
rowSetPopulated |
Уведомляет зарегистрированных слушателей о том, что объект RowSet в заданном объекте RowSetEvent добавил несколько строк. |
void |
setKeyColumns |
Задает для поля CachedRowSet этого объекта keyCols указанный массив номеров столбцов, образующих ключ для однозначной идентификации строки в этом объекте CachedRowSet. |
void |
setMetaData |
Задает метаданные для этого объекта CachedRowSet, используя указанный объект RowSetMetaData. |
void |
setOriginalRow() |
Задает текущую строку этого объекта CachedRowSet как исходную строку. |
void |
setPageSize |
Задает размер страницы объекта CachedRowSet. |
void |
setShowDeleted |
Задает для свойства showDeleted указанное значение boolean, определяющее, отображаются ли помеченные для удаления строки в наборе текущих строк. |
void |
setSyncProvider |
Задает для объекта SyncProvider этого объекта CachedRowSet указанный объект. |
void |
setTableName |
Задает идентификатор таблицы, из которой был получен этот объект CachedRowSet, используя указанное имя таблицы. |
int |
size() |
Возвращает количество строк в этом объекте CachedRowSet. |
Collection |
toCollection() |
Преобразует этот объект CachedRowSet в объект Collection, содержащий все данные этого объекта CachedRowSet. |
Collection |
toCollection |
Преобразует указанный столбец этого объекта CachedRowSet в объект Collection. |
Collection |
toCollection |
Преобразует указанный столбец этого объекта CachedRowSet в объект Collection. |
void |
undoDelete() |
Отменяет удаление текущей строки и уведомляет слушателей об изменении строки. |
void |
undoInsert() |
Немедленно удаляет текущую строку из этого объекта CachedRowSet, если строка была вставлена, а также уведомляет слушателей об изменении строки. |
void |
undoUpdate() |
Немедленно отменяет последнюю операцию обновления, если строка была изменена. |
Методы, объявленные в интерфейсе Joinable
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn | Модификатор и тип | Метод | Описание |
|---|---|---|
int[] |
getMatchColumnIndexes() |
Получает индексы столбцов сопоставления, заданных для этого объекта RowSet с помощью метода setMatchColumn(int[] columnIdxes). |
String[] |
getMatchColumnNames() |
Получает имена столбцов сопоставления, заданных для этого объекта RowSet с помощью метода setMatchColumn(String [] columnNames). |
void |
setMatchColumn |
Задает указанный столбец как столбец сопоставления для этого объекта RowSet. |
void |
setMatchColumn |
Задает указанные столбцы как столбцы сопоставления для этого объекта RowSet. |
void |
setMatchColumn |
Задает указанный столбец как столбец сопоставления для этого объекта RowSet. |
void |
setMatchColumn |
Задает указанные столбцы как столбцы сопоставления для этого объекта RowSet. |
void |
unsetMatchColumn |
Отменяет назначение указанного столбца столбцом сопоставления для этого объекта RowSet. |
void |
unsetMatchColumn |
Отменяет назначение указанных столбцов столбцами сопоставления для этого объекта RowSet. |
void |
unsetMatchColumn |
Отменяет назначение указанного столбца столбцом сопоставления для этого объекта RowSet. |
void |
unsetMatchColumn |
Отменяет назначение указанных столбцов столбцами сопоставления для этого объекта RowSet. |
Методы, объявленные в интерфейсе ResultSet
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
absolute |
Перемещает курсор на указанную строку в объекте ResultSet. |
void |
afterLast() |
Перемещает курсор в конец объекта ResultSet, сразу за последней строкой. |
void |
beforeFirst() |
Перемещает курсор в начало объекта ResultSet, прямо перед первой строкой. |
void |
cancelRowUpdates() |
Отменяет изменения, внесенные в текущую строку объекта ResultSet. |
void |
clearWarnings() |
Очищает все предупреждения, зарегистрированные для объекта ResultSet. |
void |
close() |
Немедленно освобождает ресурсы базы данных и JDBC объекта ResultSet вместо ожидания его автоматического закрытия. |
void |
deleteRow() |
Удаляет текущую строку из объекта ResultSet и базовой базы данных. |
int |
findColumn |
Сопоставляет указанную метку столбца ResultSet с индексом столбца ResultSet. |
boolean |
first() |
Перемещает курсор на первую строку объекта ResultSet. |
Array |
getArray |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Array в языке программирования Java. |
Array |
getArray |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Array в языке программирования Java. |
InputStream |
getAsciiStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet в виде потока символов ASCII. |
InputStream |
getAsciiStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet в виде потока символов ASCII. |
BigDecimal |
getBigDecimal |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.math.BigDecimal с полной точностью. |
BigDecimal |
getBigDecimal |
Устарело. Используйте getBigDecimal(int columnIndex) или getBigDecimal(String columnLabel)
|
BigDecimal |
getBigDecimal |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.math.BigDecimal с полной точностью. |
BigDecimal |
getBigDecimal |
Устарело. Используйте getBigDecimal(int columnIndex) или getBigDecimal(String columnLabel)
|
InputStream |
getBinaryStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet в виде потока необработанных байтов. |
InputStream |
getBinaryStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet в виде потока необработанных объектов byte. |
Blob |
getBlob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Blob в языке программирования Java. |
Blob |
getBlob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Blob в языке программирования Java. |
boolean |
getBoolean |
Возвращает значение указанного столбца текущей строки объекта ResultSet как boolean в языке программирования Java. |
boolean |
getBoolean |
Возвращает значение указанного столбца текущей строки объекта ResultSet как boolean в языке программирования Java. |
byte |
getByte |
Возвращает значение указанного столбца текущей строки объекта ResultSet как byte в языке программирования Java. |
byte |
getByte |
Возвращает значение указанного столбца текущей строки объекта ResultSet как byte в языке программирования Java. |
byte[] |
getBytes |
Возвращает значение указанного столбца текущей строки объекта ResultSet как массив byte в языке программирования Java. |
byte[] |
getBytes |
Возвращает значение указанного столбца текущей строки объекта ResultSet как массив byte в языке программирования Java. |
Reader |
getCharacterStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.io.Reader. |
Reader |
getCharacterStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.io.Reader. |
Clob |
getClob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Clob в языке программирования Java. |
Clob |
getClob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект Clob в языке программирования Java. |
int |
getConcurrency() |
Возвращает режим параллелизма объекта ResultSet. |
String |
getCursorName() |
Возвращает имя курсора SQL, используемого объектом ResultSet. |
Date |
getDate |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.sql.Date в языке программирования Java. |
Date |
getDate |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.sql.Date в языке программирования Java. |
Date |
getDate |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.sql.Date в языке программирования Java. |
Date |
getDate |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.sql.Date в языке программирования Java. |
double |
getDouble |
Возвращает значение указанного столбца текущей строки объекта ResultSet как double в языке программирования Java. |
double |
getDouble |
Возвращает значение указанного столбца текущей строки объекта ResultSet как double в языке программирования Java. |
int |
getFetchDirection() |
Возвращает направление выборки для объекта ResultSet. |
int |
getFetchSize() |
Возвращает размер выборки для объекта ResultSet. |
float |
getFloat |
Возвращает значение указанного столбца текущей строки объекта ResultSet как float в языке программирования Java. |
float |
getFloat |
Возвращает значение указанного столбца текущей строки объекта ResultSet как float в языке программирования Java. |
int |
getHoldability() |
Возвращает режим удержания объекта ResultSet |
int |
getInt |
Возвращает значение указанного столбца текущей строки объекта ResultSet как int в языке программирования Java. |
int |
getInt |
Возвращает значение указанного столбца текущей строки объекта ResultSet как int в языке программирования Java. |
long |
getLong |
Возвращает значение указанного столбца текущей строки объекта ResultSet как long в языке программирования Java. |
long |
getLong |
Возвращает значение указанного столбца текущей строки объекта ResultSet как long в языке программирования Java. |
ResultSetMetaData |
getMetaData() |
Возвращает количество, типы и свойства столбцов объекта ResultSet. |
Reader |
getNCharacterStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.io.Reader. |
Reader |
getNCharacterStream |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект java.io.Reader. |
NClob |
getNClob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект NClob в языке программирования Java. |
NClob |
getNClob |
Возвращает значение указанного столбца текущей строки объекта ResultSet как объект NClob в языке программирования Java. |
String |
getNString |
Возвращает значение указанного столбца текущей строки объекта ResultSet как String в языке программирования Java. |
String |
getNString |
Возвращает значение указанного столбца текущей строки объекта ResultSet как String в языке программирования Java. |
Object |
getObject |
Возвращает значение указанного столбца текущей строки объекта ResultSet как Object в языке программирования Java. |
<T> T |
getObject |
Возвращает значение указанного столбца текущей строки объекта ResultSet и преобразует его из типа SQL столбца в запрошенный тип данных Java, если такое преобразование поддерживается. |
Object |
getObject |
Возвращает значение указанного столбца текущей строки объекта ResultSet как Object в языке программирования Java. |
Object |
getObject |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде Object на языке программирования Java. |
<T> T |
getObject |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet и преобразует его из типа SQL столбца в запрошенный тип данных Java, если преобразование поддерживается. |
Object |
getObject |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде Object на языке программирования Java. |
Ref |
getRef |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта Ref на языке программирования Java. |
Ref |
getRef |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта Ref на языке программирования Java. |
int |
getRow() |
Возвращает номер текущей строки. |
RowId |
getRowId |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.RowId на языке программирования Java. |
RowId |
getRowId |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.RowId на языке программирования Java. |
short |
getShort |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде short на языке программирования Java. |
short |
getShort |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде short на языке программирования Java. |
SQLXML |
getSQLXML |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.SQLXML на языке программирования Java. |
SQLXML |
getSQLXML |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.SQLXML на языке программирования Java. |
Statement |
getStatement() |
Возвращает объект Statement, создавший этот объект ResultSet. |
String |
getString |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде String на языке программирования Java. |
String |
getString |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде String на языке программирования Java. |
Time |
getTime |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Time на языке программирования Java. |
Time |
getTime |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Time на языке программирования Java. |
Time |
getTime |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Time на языке программирования Java. |
Time |
getTime |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Time на языке программирования Java. |
Timestamp |
getTimestamp |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Timestamp на языке программирования Java. |
Timestamp |
getTimestamp |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Timestamp на языке программирования Java. |
Timestamp |
getTimestamp |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Timestamp на языке программирования Java. |
Timestamp |
getTimestamp |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.sql.Timestamp на языке программирования Java. |
int |
getType() |
Возвращает тип этого объекта ResultSet. |
InputStream |
getUnicodeStream |
Устарело. вместо getUnicodeStream используйте getCharacterStream
|
InputStream |
getUnicodeStream |
Устарело. используйте вместо этого getCharacterStream |
URL |
getURL |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.net.URL на языке программирования Java. |
URL |
getURL |
Возвращает значение указанного столбца текущей строки этого объекта ResultSet в виде объекта java.net.URL на языке программирования Java. |
SQLWarning |
getWarnings() |
Возвращает первое предупреждение, зарегистрированное при вызовах этого объекта ResultSet. |
void |
insertRow() |
Вставляет содержимое строки вставки в этот объект ResultSet и в базу данных. |
boolean |
isAfterLast() |
Возвращает, находится ли курсор после последней строки этого объекта ResultSet. |
boolean |
isBeforeFirst() |
Возвращает, находится ли курсор перед первой строкой этого объекта ResultSet. |
boolean |
isClosed() |
Возвращает, был ли закрыт этот объект ResultSet. |
boolean |
isFirst() |
Возвращает, находится ли курсор на первой строке этого объекта ResultSet. |
boolean |
isLast() |
Возвращает, находится ли курсор на последней строке этого объекта ResultSet. |
boolean |
last() |
Перемещает курсор на последнюю строку этого объекта ResultSet. |
void |
moveToCurrentRow() |
Перемещает курсор в сохранённую позицию, обычно в текущую строку. |
void |
moveToInsertRow() |
Перемещает курсор в строку вставки. |
boolean |
next() |
Перемещает курсор на одну строку вперёд от его текущей позиции. |
boolean |
previous() |
Перемещает курсор на предыдущую строку этого объекта ResultSet. |
void |
refreshRow() |
Обновляет текущую строку, используя её последнее значение в базе данных. |
boolean |
relative |
Перемещает курсор на заданное число строк относительно текущей позиции — вперёд или назад. |
boolean |
rowDeleted() |
Возвращает, была ли удалена строка. |
boolean |
rowInserted() |
Возвращает, была ли выполнена вставка в текущую строку. |
boolean |
rowUpdated() |
Возвращает, была ли обновлена текущая строка. |
void |
setFetchDirection |
Задаёт рекомендацию о направлении обработки строк в этом объекте ResultSet. |
void |
setFetchSize |
Задаёт драйверу JDBC рекомендацию о количестве строк, которые следует извлекать из базы данных, когда для этого объекта ResultSet потребуются дополнительные строки. |
void |
updateArray |
Обновляет указанный столбец значением java.sql.Array. |
void |
updateArray |
Обновляет указанный столбец значением java.sql.Array. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII заданной длины в байтах. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII заданной длины в байтах. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII заданной длины в байтах. |
void |
updateAsciiStream |
Обновляет указанный столбец значением потока ASCII заданной длины в байтах. |
void |
updateBigDecimal |
Обновляет указанный столбец значением java.math.BigDecimal. |
void |
updateBigDecimal |
Обновляет указанный столбец значением java.sql.BigDecimal. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока заданной длины в байтах. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока заданной длины в байтах. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока заданной длины в байтах. |
void |
updateBinaryStream |
Обновляет указанный столбец значением двоичного потока заданной длины в байтах. |
void |
updateBlob |
Обновляет указанный столбец, используя заданный входной поток. |
void |
updateBlob |
Обновляет указанный столбец, используя заданный входной поток длиной в указанное количество байтов. |
void |
updateBlob |
Обновляет указанный столбец значением java.sql.Blob. |
void |
updateBlob |
Обновляет указанный столбец, используя заданный входной поток. |
void |
updateBlob |
Обновляет указанный столбец, используя заданный входной поток, содержащий указанное количество байтов. |
void |
updateBlob |
Обновляет указанный столбец значением java.sql.Blob. |
void |
updateBoolean |
Обновляет указанный столбец значением boolean. |
void |
updateBoolean |
Обновляет указанный столбец значением boolean. |
void |
updateByte |
Обновляет указанный столбец значением byte. |
void |
updateByte |
Обновляет указанный столбец значением byte. |
void |
updateBytes |
Обновляет указанный столбец значением массива byte. |
void |
updateBytes |
Обновляет указанный столбец значением массива байтов. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateClob |
Обновляет указанный столбец, используя заданный объект Reader. |
void |
updateClob |
Обновляет указанный столбец, используя заданный объект Reader указанной длины в символах. |
void |
updateClob |
Обновляет указанный столбец значением java.sql.Clob. |
void |
updateClob |
Обновляет указанный столбец, используя заданный объект Reader. |
void |
updateClob |
Обновляет указанный столбец, используя заданный объект Reader указанной длины в символах. |
void |
updateClob |
Обновляет указанный столбец значением java.sql.Clob. |
void |
updateDate |
Обновляет указанный столбец значением java.sql.Date. |
void |
updateDate |
Обновляет указанный столбец значением java.sql.Date. |
void |
updateDouble |
Обновляет указанный столбец значением double. |
void |
updateDouble |
Обновляет указанный столбец значением double. |
void |
updateFloat |
Обновляет указанный столбец значением float. |
void |
updateFloat |
Обновляет указанный столбец значением float. |
void |
updateInt |
Обновляет указанный столбец значением int. |
void |
updateInt |
Обновляет указанный столбец значением int. |
void |
updateLong |
Обновляет указанный столбец значением long. |
void |
updateLong |
Обновляет указанный столбец значением long. |
void |
updateNCharacterStream |
Обновляет указанный столбец значением из символьного потока. |
void |
updateNCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateNCharacterStream |
Обновляет указанный столбец значением из символьного потока. |
void |
updateNCharacterStream |
Обновляет указанный столбец значением из символьного потока, содержащего указанное количество байтов. |
void |
updateNClob |
Обновляет указанный столбец, используя заданный Reader Данные считываются из потока по мере необходимости до достижения его конца. |
void |
updateNClob |
Обновляет указанный столбец, используя заданный объект Reader указанной длины в символах. |
void |
updateNClob |
Обновляет указанный столбец значением java.sql.NClob. |
void |
updateNClob |
Обновляет указанный столбец, используя заданный объект Reader. |
void |
updateNClob |
Обновляет указанный столбец, используя заданный объект Reader указанной длины в символах. |
void |
updateNClob |
Обновляет указанный столбец значением java.sql.NClob. |
void |
updateNString |
Обновляет указанный столбец значением String. |
void |
updateNString |
Обновляет указанный столбец значением String. |
void |
updateNull |
Обновляет указанный столбец значением null. |
void |
updateNull |
Обновляет указанный столбец значением null. |
void |
updateObject |
Обновляет указанный столбец значением Object. |
void |
updateObject |
Обновляет указанный столбец значением Object. |
default void |
updateObject |
Обновляет указанный столбец значением Object. |
default void |
updateObject |
Обновляет указанный столбец значением Object. |
void |
updateObject |
Обновляет указанный столбец значением Object. |
void |
updateObject |
Обновляет указанный столбец значением Object. |
default void |
updateObject |
Обновляет указанный столбец значением Object. |
default void |
updateObject |
Обновляет указанный столбец значением Object. |
void |
updateRef |
Обновляет указанный столбец значением java.sql.Ref. |
void |
updateRef |
Обновляет указанный столбец значением java.sql.Ref. |
void |
updateRow() |
Обновляет базу данных, записывая новое содержимое текущей строки этого объекта ResultSet. |
void |
updateRowId |
Обновляет указанный столбец значением RowId. |
void |
updateRowId |
Обновляет указанный столбец значением RowId. |
void |
updateShort |
Обновляет указанный столбец значением short. |
void |
updateShort |
Обновляет указанный столбец значением short. |
void |
updateSQLXML |
Обновляет указанный столбец значением java.sql.SQLXML. |
void |
updateSQLXML |
Обновляет указанный столбец значением java.sql.SQLXML. |
void |
updateString |
Обновляет указанный столбец значением String. |
void |
updateString |
Обновляет указанный столбец значением String. |
void |
updateTime |
Обновляет указанный столбец значением java.sql.Time. |
void |
updateTime |
Обновляет указанный столбец значением java.sql.Time. |
void |
updateTimestamp |
Обновляет указанный столбец значением java.sql.Timestamp. |
void |
updateTimestamp |
Обновляет указанный столбец значением java.sql.Timestamp. |
boolean |
wasNull() |
Сообщает, имел ли последний считанный столбец значение SQL NULL. |
Методы, объявленные в интерфейсе RowSet
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setURL, setUsername | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addRowSetListener |
Регистрирует указанный прослушиватель, чтобы он получал уведомления о событиях, происходящих с объектом RowSet. |
void |
clearParameters() |
Очищает параметры, заданные для команды объекта RowSet. |
void |
execute() |
Заполняет объект RowSet данными. |
String |
getCommand() |
Возвращает свойство command объекта RowSet. |
String |
getDataSourceName() |
Возвращает логическое имя, идентифицирующее источник данных для объекта RowSet. |
boolean |
getEscapeProcessing() |
Возвращает сведения о том, включена ли обработка escape-последовательностей для объекта RowSet. |
int |
getMaxFieldSize() |
Возвращает максимальное число байтов, которое может быть возвращено для значений некоторых столбцов. |
int |
getMaxRows() |
Возвращает максимальное число строк, которое может содержать объект RowSet. |
String |
getPassword() |
Возвращает пароль, использованный для создания подключения к базе данных. |
int |
getQueryTimeout() |
Возвращает максимальное время в секундах, в течение которого драйвер будет ожидать выполнения инструкции. |
int |
getTransactionIsolation() |
Возвращает уровень изоляции транзакций, заданный для объекта RowSet. |
Map |
getTypeMap() |
Возвращает объект Map, связанный с объектом RowSet и задающий пользовательское сопоставление типов SQL, определённых пользователем, если оно имеется. |
String |
getUrl() |
Возвращает свойство url, которое объект RowSet будет использовать для создания подключения, если вместо объекта DataSource для установления подключения будет использоваться DriverManager. |
String |
getUsername() |
Возвращает имя пользователя, использованное для создания подключения к базе данных для объекта RowSet. |
boolean |
isReadOnly() |
Возвращает сведения о том, доступен ли объект RowSet только для чтения. |
void |
removeRowSetListener |
Удаляет указанный прослушиватель из списка компонентов, получающих уведомления о событиях, происходящих с объектом RowSet. |
void |
setArray |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Array. |
void |
setAsciiStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанный входной поток. |
void |
setAsciiStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.io.InputStream. |
void |
setAsciiStream |
Задаёт указанный параметр, присваивая ему указанный входной поток. |
void |
setAsciiStream |
Задаёт указанный параметр, присваивая ему указанный входной поток, содержащий заданное число байтов. |
void |
setBigDecimal |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.math.BigDecimal. |
void |
setBigDecimal |
Задаёт указанный параметр, присваивая ему указанное значение java.math.BigDecimal. |
void |
setBinaryStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанный входной поток. |
void |
setBinaryStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.io.InputStream. |
void |
setBinaryStream |
Задаёт указанный параметр, присваивая ему указанный входной поток. |
void |
setBinaryStream |
Задаёт указанный параметр, присваивая ему указанный входной поток, содержащий заданное число байтов. |
void |
setBlob |
Задаёт указанный параметр, присваивая ему объект InputStream. |
void |
setBlob |
Задаёт указанный параметр, присваивая ему объект InputStream. |
void |
setBlob |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Blob. |
void |
setBlob |
Задаёт указанный параметр, присваивая ему объект InputStream. |
void |
setBlob |
Задаёт указанный параметр, присваивая ему объект InputStream. |
void |
setBlob |
Задаёт указанный параметр, присваивая ему указанный объект java.sql.Blob. |
void |
setBoolean |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java boolean. |
void |
setBoolean |
Задаёт указанный параметр, присваивая ему указанное значение Java boolean. |
void |
setByte |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java byte. |
void |
setByte |
Задаёт указанный параметр, присваивая ему указанное значение Java byte. |
void |
setBytes |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанный массив Java из значений byte. |
void |
setBytes |
Задаёт указанный параметр, присваивая ему указанный массив байтов Java. |
void |
setCharacterStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанный объект Reader. |
void |
setCharacterStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.io.Reader. |
void |
setCharacterStream |
Задаёт указанный параметр, присваивая ему указанный объект Reader. |
void |
setCharacterStream |
Задаёт указанный параметр, присваивая ему указанный объект Reader длиной в заданное число символов. |
void |
setClob |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setClob |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setClob |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Clob. |
void |
setClob |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setClob |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setClob |
Задаёт указанный параметр, присваивая ему указанный объект java.sql.Clob. |
void |
setCommand |
Задаёт для свойства command объекта RowSet указанный SQL-запрос. |
void |
setConcurrency |
Задаёт для объекта RowSet указанный уровень параллелизма. |
void |
setDataSourceName |
Задаёт для объекта RowSet свойство имени источника данных, присваивая ему указанное значение String. |
void |
setDate |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.sql.Date. |
void |
setDate |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение java.sql.Date. |
void |
setDate |
Задаёт указанный параметр, присваивая ему указанное значение java.sql.Date с использованием часового пояса по умолчанию виртуальной машины, на которой выполняется приложение. |
void |
setDate |
Задаёт указанный параметр, присваивая ему указанное значение java.sql.Date с использованием указанного объекта Calendar. |
void |
setDouble |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java double. |
void |
setDouble |
Задаёт указанный параметр, присваивая ему указанное значение Java double. |
void |
setEscapeProcessing |
Включает или отключает обработку escape-последовательностей для объекта RowSet. |
void |
setFloat |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java float. |
void |
setFloat |
Задаёт указанный параметр, присваивая ему указанное значение Java float. |
void |
setInt |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java int. |
void |
setInt |
Задаёт указанный параметр, присваивая ему указанное значение Java int. |
void |
setLong |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему указанное значение Java long. |
void |
setLong |
Задаёт указанный параметр, присваивая ему указанное значение Java long. |
void |
setMaxFieldSize |
Задаёт максимальное число байтов, возвращаемых для значения столбца, равным указанному числу байтов. |
void |
setMaxRows |
Задаёт максимальное число строк, которое может содержать объект RowSet, равным указанному числу. |
void |
setNCharacterStream |
Задаёт указанный параметр в команде объекта RowSet, присваивая ему объект Reader. |
void |
setNCharacterStream |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setNCharacterStream |
Задаёт указанный параметр, присваивая ему объект Reader. |
void |
setNCharacterStream |
Устанавливает для указанного параметра объект Reader. |
void |
setNClob |
Устанавливает для указанного параметра объект Reader. |
void |
setNClob |
Устанавливает для указанного параметра объект Reader. |
void |
setNClob |
Устанавливает для указанного параметра объект java.sql.NClob. |
void |
setNClob |
Устанавливает для указанного параметра объект Reader. |
void |
setNClob |
Устанавливает для указанного параметра объект Reader. |
void |
setNClob |
Устанавливает для указанного параметра объект java.sql.NClob. |
void |
setNString |
Устанавливает для указанного параметра заданный объект String. |
void |
setNString |
Устанавливает для указанного параметра заданный объект String. |
void |
setNull |
Устанавливает для указанного параметра в SQL-команде этого объекта RowSet значение SQL NULL. |
void |
setNull |
Устанавливает для указанного параметра в SQL-команде этого объекта RowSet значение SQL NULL. |
void |
setNull |
Устанавливает для указанного параметра значение SQL NULL. |
void |
setNull |
Устанавливает для указанного параметра значение SQL NULL. |
void |
setObject |
Устанавливает для указанного параметра в команде этого объекта RowSet значение Java Object. |
void |
setObject |
Устанавливает для указанного параметра в команде этого объекта RowSet значение Java Object. |
void |
setObject |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение Java Object. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setObject |
Устанавливает значение указанного параметра с помощью заданного объекта. |
void |
setPassword |
Устанавливает пароль базы данных для этого объекта RowSet в заданное значение String. |
void |
setQueryTimeout |
Устанавливает максимальное время в секундах, в течение которого драйвер будет ожидать выполнения оператора. |
void |
setReadOnly |
Устанавливает значение boolean, определяющее, доступен ли этот объект RowSet только для чтения. |
void |
setRef |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение Ref. |
void |
setRowId |
Устанавливает для указанного параметра заданный объект java.sql.RowId. |
void |
setRowId |
Устанавливает для указанного параметра заданный объект java.sql.RowId. |
void |
setShort |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение Java short. |
void |
setShort |
Устанавливает для указанного параметра заданное значение Java short. |
void |
setSQLXML |
Устанавливает для указанного параметра заданный объект java.sql.SQLXML. |
void |
setSQLXML |
Устанавливает для указанного параметра заданный объект java.sql.SQLXML. |
void |
setString |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение Java String. |
void |
setString |
Устанавливает для указанного параметра заданное значение Java String. |
void |
setTime |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение java.sql.Time. |
void |
setTime |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение java.sql.Time. |
void |
setTime |
Устанавливает для указанного параметра заданное значение java.sql.Time. |
void |
setTime |
Устанавливает для указанного параметра заданное значение java.sql.Time с помощью заданного объекта Calendar. |
void |
setTimestamp |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение java.sql.Timestamp. |
void |
setTimestamp |
Устанавливает для указанного параметра в команде этого объекта RowSet заданное значение java.sql.Timestamp. |
void |
setTimestamp |
Устанавливает для указанного параметра заданное значение java.sql.Timestamp. |
void |
setTimestamp |
Устанавливает для указанного параметра заданное значение java.sql.Timestamp с помощью заданного объекта Calendar. |
void |
setTransactionIsolation |
Устанавливает уровень изоляции транзакций для этого объекта RowSet. |
void |
setType |
Устанавливает для этого объекта RowSet заданный тип. |
void |
setTypeMap |
Устанавливает заданный объект java.util.Map в качестве карты типов по умолчанию для этого объекта RowSet. |
void |
setUrl |
Устанавливает URL, который этот объект RowSet будет использовать при создании подключения с помощью DriverManager. |
void |
setURL |
Устанавливает для указанного параметра заданное значение java.net.URL. |
void |
setUsername |
Устанавливает свойство имени пользователя для этого объекта RowSet в заданное значение String. |
Методы, объявленные в интерфейсе Wrapper
isWrapperFor, unwrap | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isWrapperFor |
Возвращает true, если этот объект реализует интерфейс, переданный в аргументе, или прямо либо косвенно является обёрткой объекта, который его реализует. |
<T> T |
unwrap |
Возвращает объект, реализующий заданный интерфейс, чтобы обеспечить доступ к нестандартным методам или стандартным методам, не предоставляемым прокси-объектом. |
Подробное описание полей
COMMIT_ON_ACCEPT_CHANGES
@Deprecated static final boolean COMMIT_ON_ACCEPT_CHANGES
CachedRowSet объекта SyncProvider фиксировать изменения при вызове acceptChanges(). Если установлено значение false, изменения не будут зафиксированы, пока не будет вызван один из транзакционных методов интерфейса CachedRowSet.- См. также:
Подробное описание методов
populate
void populate(ResultSet data) throws SQLException
CachedRowSet данными из указанного объекта ResultSet. Этот метод можно использовать вместо метода execute, если приложение подключено к открытому объекту ResultSet. Использование метода populate может быть эффективнее, чем использование версии метода execute без параметров, поскольку он не открывает новое соединение и не выполняет повторно команду этого объекта CachedRowSet. Использование метода populate удобнее по сравнению с использованием версии execute, принимающей объект ResultSet.
- Параметры:
-
data— объектResultSet, содержащий данные для чтения в этот объектCachedRowSet - Исключения:
-
SQLException— если передан null-объектResultSetили этому объектуCachedRowSetне удается получить связанный объектResultSetMetaData - См. также:
execute
void execute(Connection conn) throws SQLException
CachedRowSet данными, используя указанное соединение для получения результирующего набора, из которого будут прочитаны данные. Этот метод должен закрывать все созданные им соединения с базой данных, чтобы обеспечить отключение этого объекта CachedRowSet, за исключением случаев чтения данных из источника данных или записи данных в него. Для установления соединения с источником данных считыватель этого объекта CachedRowSet использует conn, чтобы выполнить команду rowset и прочитать данные из полученного объекта ResultSet в этот объект CachedRowSet. Этот метод также закрывает conn после заполнения этого объекта CachedRowSet.
Если этот метод вызывается, когда реализация уже заполнена, содержимое и метаданные сбрасываются и задаются заново. Кроме того, если этот метод вызывается до вызова метода acceptChanges для фиксации ожидающих обновлений, эти обновления теряются.
- Параметры:
-
conn— стандартный объект JDBCConnectionс допустимыми свойствами - Исключения:
-
SQLException— если передан недопустимый объектConnectionили при установлении соединения с источником данных возникает ошибка - См. также:
acceptChanges
void acceptChanges() throws SyncProviderException
CachedRowSet: обновления, вставки и удаления. Для выполнения этой операции метод вызывает средство записи этого объекта CachedRowSet. Стандартные реализации CachedRowSet должны использовать синглтон SyncFactory для получения экземпляра SyncProvider, предоставляющего объект RowSetWriter (средство записи). Средство записи попытается передать источнику данных изменения, внесенные в этот объект CachedRowSet.
При успешном выполнении метода acceptChanges, помимо записи изменений в источник данных, значения текущей строки становятся равными значениям исходной строки.
В зависимости от уровня синхронизации используемой реализации SyncProvider, средство записи сравнит исходные значения со значениями в источнике данных, чтобы проверить наличие конфликтов. При возникновении конфликта реализация RIOptimisticProvider, например, выбрасывает SyncProviderException и ничего не записывает в источник данных.
Приложение может перехватить объект SyncProviderException и получить содержащийся в нем объект SyncResolver. Объект SyncResolver перечисляет конфликты для каждой строки и устанавливает блокировку источника данных, чтобы избежать новых конфликтов во время разрешения текущих. Кроме того, для каждого конфликта он предоставляет методы для его изучения и задания значения, которое должно быть сохранено в источнике данных. После разрешения всех конфликтов приложение должно снова вызвать метод acceptChanges, чтобы записать разрешенные значения в источник данных. Если все значения в источнике данных уже совпадают со значениями, которые нужно сохранить, метод acceptChanges ничего не делает.
Некоторые реализации поставщиков могут использовать блокировки, чтобы гарантировать отсутствие конфликтов. В таких случаях гарантируется, что средство записи успешно сохранит изменения в источнике данных при вызове метода acceptChanges. Этот метод можно вызвать сразу после вызова методов updateRow, insertRow или deleteRow, однако эффективнее вызывать его только один раз после внесения всех изменений, чтобы установить только одно соединение.
Примечание. Метод acceptChanges() определяет, имеет ли COMMIT_ON_ACCEPT_CHANGES значение true. Если да, все обновления при синхронизации фиксируются в источнике данных. В противном случае приложение должно явно вызвать методы commit() или rollback() в зависимости от ситуации.
- Исключения:
-
SyncProviderException— если средство записи используемого поставщика синхронизации не может записать обновления обратно в источник данных - См. также:
acceptChanges
void acceptChanges(Connection con) throws SyncProviderException
CachedRowSet, используя указанный объект Connection для установления соединения с источником данных. В другой версии метода acceptChanges соединение не передается, поскольку она использует объект Connection, уже определенный в объекте RowSet, то есть соединение, которое изначально использовалось для его заполнения.
Эта форма метода acceptChanges похожа на форму без аргументов, однако, в отличие от нее, ее можно использовать только тогда, когда базовый источник данных является источником данных JDBC. Обновленные свойства Connection должны использоваться методом SyncProvider для сброса конфигурации RowSetWriter и обеспечения корректной синхронизации содержимого объекта CachedRowSet.
При успешном выполнении метода acceptChanges, помимо записи изменений в источник данных, значения текущей строки становятся равными значениям исходной строки.
В зависимости от уровня синхронизации используемой реализации SyncProvider, средство записи сравнит исходные значения со значениями в источнике данных, чтобы проверить наличие конфликтов. При возникновении конфликта реализация RIOptimisticProvider, например, выбрасывает SyncProviderException и ничего не записывает в источник данных.
Приложение может перехватить объект SyncProviderException и получить содержащийся в нем объект SyncResolver. Объект SyncResolver перечисляет конфликты для каждой строки и устанавливает блокировку источника данных, чтобы избежать новых конфликтов во время разрешения текущих. Кроме того, для каждого конфликта он предоставляет методы для его изучения и задания значения, которое должно быть сохранено в источнике данных. После разрешения всех конфликтов приложение должно снова вызвать метод acceptChanges, чтобы записать разрешенные значения в источник данных. Если все значения в источнике данных уже совпадают со значениями, которые нужно сохранить, метод acceptChanges ничего не делает.
Некоторые реализации поставщиков могут использовать блокировки, чтобы гарантировать отсутствие конфликтов. В таких случаях гарантируется, что средство записи успешно сохранит изменения в источнике данных при вызове метода acceptChanges. Этот метод можно вызвать сразу после вызова методов updateRow, insertRow или deleteRow, однако эффективнее вызывать его только один раз после внесения всех изменений, чтобы установить только одно соединение.
Примечание. Метод acceptChanges() определяет, имеет ли COMMIT_ON_ACCEPT_CHANGES значение true. Если да, все обновления при синхронизации фиксируются в источнике данных. В противном случае приложение должно явно вызвать методы commit или rollback в зависимости от ситуации.
- Параметры:
-
con— стандартный объект JDBCConnection - Исключения:
-
SyncProviderException— если средство записи используемого поставщика синхронизации не может записать обновления обратно в источник данных - См. также:
restoreOriginal
void restoreOriginal() throws SQLException
CachedRowSet, то есть значение, которое было до последнего набора изменений. Если в rowset не было изменений или был только один набор изменений, исходным значением является значение, которым был заполнен этот объект CachedRowSet; в противном случае исходным значением является значение, которое он имел непосредственно перед текущим значением. При вызове этого метода реализация CachedRowSet должна обеспечить замену всех обновлений, вставок и удалений текущего экземпляра rowset предыдущими значениями. Кроме того, курсор должен быть перемещен на первую строку, а для уведомления всех зарегистрированных слушателей должно быть сгенерировано событие rowSetChanged.
- Исключения:
-
SQLException— если при откате текущего значения этого объектаCachedRowSetк предыдущему значению возникает ошибка - См. также:
release
void release() throws SQLException
CachedRowSet и отправляет событие rowSetChanged всем зарегистрированным прослушивателям. Все ожидающие обновления отбрасываются, и после вызова этого метода набор строк не содержит строк. Взаимодействие с базовым источником данных не происходит, а содержимое набора строк, метаданные и обновления содержимого не должны подлежать восстановлению. Этот объект CachedRowSet должен блокироваться, пока его содержимое и связанные с ним обновления не будут полностью очищены, тем самым предотвращая «грязное» чтение другими компонентами, имеющими ссылку на этот объект RowSet. Кроме того, содержимое нельзя освободить, пока все компоненты, читающие этот объект CachedRowSet, не завершат чтение. После отправки события rowSetChanged этот объект CachedRowSet должен вернуться к обычному поведению.
Метаданные, включая свойства JDBC и свойства Synchronization SPI, сохраняются для дальнейшего использования. Важно, чтобы такие свойства, как свойство command, соответствовали исходному источнику данных, из которого изначально был создан этот объект CachedRowSet.
Этот метод очищает набор строк, в отличие от метода close, который помечает весь набор строк как доступный для восстановления, чтобы сборщик мусора мог освободить ресурсы набора строк в виртуальной машине Java.
- Исключения:
-
SQLException— если при очистке содержимого этого объектаCachedRowSetпроизошла ошибка - См. также:
undoDelete
void undoDelete() throws SQLException
Кроме того, можно отменить удаление нескольких строк, изменяя положение курсора с помощью методов управления позицией курсора, таких как:
-
CachedRowSet.absolute -
CachedRowSet.first -
CachedRowSet.last
- Исключения:
-
SQLException— если (1) текущая строка не была удалена или (2) курсор находится на строке вставки, перед первой строкой или после последней строки - См. также:
undoInsert
void undoInsert() throws SQLException
CachedRowSet, если строка была вставлена, а также уведомляет прослушивателей об изменении строки. Этот метод можно вызывать в любое время в течение жизненного цикла набора строк; если текущая строка не подпадает под ограничения, при которых выбрасывается исключение (см. ниже), вызов отменяет вставку текущей строки. Кроме того, можно отменить вставку нескольких строк, изменяя положение курсора с помощью методов управления позицией курсора, таких как:
-
CachedRowSet.absolute -
CachedRowSet.first -
CachedRowSet.last
- Исключения:
-
SQLException— если (1) текущая строка не была вставлена или (2) курсор находится перед первой строкой, после последней строки или на строке вставки - См. также:
undoUpdate
void undoUpdate() throws SQLException
acceptChanges) или заполнением. Этот метод также можно вызывать при выполнении обновлений строки вставки. undoUpdate можно вызывать в любое время в течение жизненного цикла набора строк; однако после выполнения синхронизации этот метод не оказывает эффекта, пока данные набора строк не будут изменены снова.
- Исключения:
-
SQLException— если курсор находится перед первой строкой или после последней строки этого объектаCachedRowSet - См. также:
columnUpdated
boolean columnUpdated(int idx) throws SQLException
CachedRowSet.- Параметры:
-
idx—int, задающий столбец, для которого проверяется наличие обновлений - Возвращает:
-
true, если указанный столбец был явно обновлён; в противном случае —false - Исключения:
-
SQLException— если курсор находится на строке вставки, перед первой строкой или после последней строки - См. также:
columnUpdated
boolean columnUpdated(String columnName) throws SQLException
CachedRowSet.- Параметры:
-
columnName— объектString, задающий имя столбца, для которого проверяется наличие обновлений - Возвращает:
-
true, если столбец был явно обновлён; в противном случае —false - Исключения:
-
SQLException— если курсор находится на строке вставки, перед первой строкой или после последней строки - См. также:
toCollection
Collection<?> toCollection() throws SQLException
CachedRowSet в объект Collection, содержащий все данные этого объекта CachedRowSet. Благодаря абстрактной природе платформы Collection реализации могут выбирать способ представления этого объекта Collection. Каждая строка должна быть полностью представлена либо универсальной реализацией Collection, либо специализированной реализацией Collection, например объектом TreeMap или объектом Vector. Значение столбца SQL NULL должно быть представлено в языке программирования Java как null. Стандартная эталонная реализация интерфейса CachedRowSet использует объект TreeMap для набора строк, а значения каждой строки хранятся в объектах Vector. Предполагается, что большинство реализаций будут поступать так же.
Тип коллекции TreeMap гарантирует, что карта будет упорядочена по возрастанию ключей в соответствии с естественным порядком для класса ключа. Каждому ключу соответствует объект Vector, представляющий одну строку объекта RowSet. Следовательно, размер каждого объекта Vector должен точно совпадать с количеством столбцов в объекте RowSet. Ключ, используемый коллекцией TreeMap, определяется реализацией, которая может использовать ключевой набор, доступный во внутренней табличной структуре RowSet благодаря ключу, уже заданному либо в самом объекте RowSet, либо в базовых данных SQL.
- Возвращает:
- объект
Collection, содержащий значения каждой строки этого объектаCachedRowSet - Исключения:
-
SQLException— если при создании коллекции произошла ошибка - См. также:
toCollection
Collection<?> toCollection(int column) throws SQLException
CachedRowSet в объект Collection. Благодаря абстрактной природе платформы Collection реализации могут выбирать способ представления этого объекта Collection. Каждое значение столбца должно быть полностью представлено либо универсальной реализацией Collection, либо специализированной реализацией Collection, например объектом Vector. Значение столбца SQL NULL должно быть представлено в языке программирования Java как null. Стандартная эталонная реализация использует объект Vector для хранения значений столбца, и предполагается, что большинство реализаций будут поступать так же. Если используется объект Vector, его размер должен точно совпадать с количеством строк в этом объекте CachedRowSet.
- Параметры:
-
column—int, указывающий столбец, значения которого следует представить в объектеCollection - Возвращает:
- объект
Collection, содержащий значения, хранящиеся в указанном столбце этого объектаCachedRowSet - Исключения:
-
SQLException— если при создании коллекции произошла ошибка или указан недопустимый идентификатор столбца - См. также:
toCollection
Collection<?> toCollection(String column) throws SQLException
CachedRowSet в объект Collection. Благодаря абстрактной природе платформы Collection реализации могут выбирать способ представления этого объекта Collection. Каждое значение столбца должно быть полностью представлено либо универсальной реализацией Collection, либо специализированной реализацией Collection, например объектом Vector. Значение столбца SQL NULL должно быть представлено в языке программирования Java как null. Стандартная эталонная реализация использует объект Vector для хранения значений столбца, и предполагается, что большинство реализаций будут поступать так же. Если используется объект Vector, его размер должен точно совпадать с количеством строк в этом объекте CachedRowSet.
- Параметры:
-
column— объектString, задающий имя столбца, значения которого следует представить в коллекции - Возвращает:
- объект
Collection, содержащий значения, хранящиеся в указанном столбце этого объектаCachedRowSet - Исключения:
-
SQLException— если при создании коллекции произошла ошибка или указан недопустимый идентификатор столбца - См. также:
getSyncProvider
SyncProvider getSyncProvider() throws SQLException
SyncProvider для этого объекта CachedRowSet. Внутри этот метод используется набором строк для инициирования операций чтения или записи между набором строк и источником данных. Например, набору строк может потребоваться получить ссылку на средство чтения набора строк (объект RowSetReader) из SyncProvider, чтобы заполнить набор строк.
RowSetReader rowsetReader = null;
SyncProvider provider =
SyncFactory.getInstance("javax.sql.rowset.provider.RIOptimisticProvider");
if (provider instanceof RIOptimisticProvider) {
rowsetReader = provider.getRowSetReader();
}
Предположим, что rowsetReader — это закрытое доступное поле в реализации набора строк; когда приложение вызывает метод execute, тот, в свою очередь, вызывает метод readData средства чтения, чтобы заполнить объект RowSet.
rowsetReader.readData((RowSetInternal)this);
Кроме того, приложение может использовать объект SyncProvider, возвращаемый этим методом, для вызова методов, возвращающих сведения об объекте SyncProvider, включая сведения о поставщике, версии, идентификаторе поставщика, уровне синхронизации и установленных блокировках.
- Возвращает:
- объект
SyncProvider, заданный при создании экземпляра набора строк, или поставщик по умолчанию, если он не был задан - Исключения:
-
SQLException— если при возврате объектаSyncProviderпроизошла ошибка - См. также:
setSyncProvider
void setSyncProvider(String provider) throws SQLException
CachedRowSet объект SyncProvider, указанный в параметре. Этот метод позволяет сбросить объект SyncProvider. Реализация CachedRowSet всегда должна создаваться с доступным механизмом SyncProvider, однако бывают случаи, когда сброс объекта SyncProvider желателен или необходим. Например, приложение может некоторое время использовать объект SyncProvider по умолчанию, а затем выбрать поставщика, который недавно стал доступен и лучше соответствует его потребностям.
Сброс объекта SyncProvider приводит к тому, что объект RowSet запрашивает новую реализацию SyncProvider у SyncFactory. В результате сбрасываются все предыдущие соединения и связи с исходным источником данных, что может существенно изменить поведение синхронизации отключенного набора строк.
- Параметры:
-
provider— объектString, содержащий полное имя класса реализацииSyncProvider - Исключения:
-
SQLException— если при попытке сбросить реализациюSyncProviderвозникает ошибка - См. также:
size
int size()
CachedRowSet.- Возвращает:
- количество строк в наборе строк
setMetaData
void setMetaData(RowSetMetaData md) throws SQLException
CachedRowSet с помощью переданного объекта RowSetMetaData. При чтении содержимого набора строк объект RowSetReader создает объект RowSetMetaData и инициализирует его с помощью методов реализации RowSetMetaData. В эталонной реализации используется класс RowSetMetaDataImpl. Когда чтение содержимого набора строк завершено, этот метод вызывается внутри программы для передачи объекта RowSetMetaData набору строк.- Параметры:
-
md— объектRowSetMetaData, содержащий метаданные о столбцах объектаCachedRowSet - Исключения:
-
SQLException— если набору строк переданы недопустимые метаданные
getOriginal
ResultSet getOriginal() throws SQLException
ResultSet, содержащий исходное значение объекта CachedRowSet. Курсор объекта ResultSet должен быть установлен перед первой строкой. Кроме того, возвращаемый объект ResultSet должен иметь следующие свойства:
- ResultSet.TYPE_SCROLL_INSENSITIVE
- ResultSet.CONCUR_UPDATABLE
Исходное значение объекта RowSet — это значение, которое он имел до последней синхронизации с базовым источником данных. Если синхронизаций не было, исходным значением будет значение, которым был заполнен объект RowSet. Этот метод вызывается внутри программы при вызове приложением метода acceptChanges, если объект SyncProvider реализован для проверки конфликтов. В этом случае средство записи сравнивает исходное значение со значением, находящимся в данный момент в источнике данных, чтобы проверить наличие конфликтов.
- Возвращает:
- объект
ResultSet, содержащий исходное значение объектаCachedRowSet - Исключения:
-
SQLException— если при создании объектаResultSetвозникает ошибка
getOriginalRow
ResultSet getOriginalRow() throws SQLException
ResultSet, содержащий исходное значение только текущей строки объекта CachedRowSet. Курсор объекта ResultSet должен быть установлен перед первой строкой. Кроме того, возвращаемый объект ResultSet должен иметь следующие свойства:
- ResultSet.TYPE_SCROLL_INSENSITIVE
- ResultSet.CONCUR_UPDATABLE
- Возвращает:
- исходный результирующий набор для строки
- Исключения:
-
SQLException— если текущая строка отсутствует - См. также:
setOriginalRow
void setOriginalRow() throws SQLException
CachedRowSet в качестве исходной. Этот метод вызывается внутри программы после синхронизации всех измененных значений текущей строки с источником данных. Текущая строка должна быть помечена как больше не вставленная, не удаленная и не обновленная.
Вызов setOriginalRow необратим.
- Исключения:
-
SQLException— если текущая строка отсутствует или при сбросе содержимого исходной строки возникает ошибка - См. также:
getTableName
String getTableName() throws SQLException
CachedRowSet. Это имя можно задавать несколько раз; спецификация не ограничивает количество таких вызовов и не определяет, должны ли стандартные реализации отслеживать предыдущие имена таблиц.- Возвращает:
- объект
Stringс именем таблицы, являющейся источником данных для объектаCachedRowSet, илиnull, если имя таблицы не задано - Исключения:
-
SQLException— если при получении имени таблицы возникает ошибка - См. также:
setTableName
void setTableName(String tabName) throws SQLException
CachedRowSet, используя указанное имя таблицы. Средство записи использует это имя, чтобы определить, какую таблицу использовать при сравнении значений в источнике данных со значениями объекта CachedRowSet во время попытки синхронизации. Идентификатор таблицы также указывает, куда следует записывать измененные значения объекта CachedRowSet. Реализация объекта CachedRowSet может получить имя таблицы внутри программы из объекта RowSetMetaDataImpl.
- Параметры:
-
tabName— объектString, указывающий таблицу, из которой получен объектCachedRowSet; не может бытьnull, но может быть пустой строкой - Исключения:
-
SQLException— если при задании имени таблицы возникает ошибка или tabName имеет значениеnull - См. также:
getKeyColumns
int[] getKeyColumns() throws SQLException
CachedRowSet.- Возвращает:
- массив с номерами столбцов, указывающими, какие столбцы образуют первичный ключ строки объекта
CachedRowSet. Если ни один столбец не является частью первичного ключа, массив должен быть пустым. - Исключения:
-
SQLException— если объектCachedRowSetпуст - См. также:
setKeyColumns
void setKeyColumns(int[] keys) throws SQLException
keyCols объекта CachedRowSet переданный массив номеров столбцов, образующих ключ для уникальной идентификации строки в объекте CachedRowSet. Если объект CachedRowSet становится частью объекта JoinRowSet, ключи, заданные этим методом, и связанные с ними ограничения сохраняются, если указанные столбцы ключа также становятся столбцами сопоставления.
- Параметры:
-
keys— массив значенийint, указывающих столбцы, образующие первичный ключ объектаCachedRowSet; каждый элемент массива должен быть больше0и меньше или равен количеству столбцов в этом наборе строк - Исключения:
-
SQLException— если какое-либо из чисел в переданном массиве недопустимо для этого набора строк - См. также:
createCopy
CachedRowSet createCopy() throws SQLException
RowSet, представляющий собой глубокую копию данных объекта CachedRowSet. В отличие от объекта RowSet, созданного вызовом createShared, изменения, внесенные в копию исходного объекта RowSet, не должны быть видны исходному объекту RowSet. Кроме того, любые слушатели событий, зарегистрированные для исходного объекта RowSet, не должны распространять свое действие на новые копии RowSet. Также должны сохраняться все установленные ограничения.- Возвращает:
- новый объект
RowSet, являющийся глубокой копией объектаCachedRowSetи полностью независимый от объектаCachedRowSet - Исключения:
-
SQLException— если при создании копии объектаCachedRowSetвозникает ошибка - См. также:
createCopySchema
CachedRowSet createCopySchema() throws SQLException
CachedRowSet, являющийся пустой копией этого объекта CachedRowSet. Копия не должна содержать никаких данных, а должна лишь представлять структуру таблицы исходного объекта CachedRowSet. Кроме того, ограничения первичного или внешнего ключа, установленные в исходном объекте CachedRowSet, должны также применяться к новому пустому объекту CachedRowSet. В отличие от объекта RowSet, созданного в результате вызова метода createShared, изменения, внесенные в копию этого объекта CachedRowSet с помощью метода createCopySchema, не должны быть видны ему. Приложения могут создать объект WebRowSet на основе объекта CachedRowSet, возвращенного этим методом, чтобы экспортировать определение схемы RowSet в XML для последующего использования.
- Возвращает:
- Пустая копия этого объекта
CachedRowSet - Выбрасывает:
-
SQLException— если при клонировании структуры этого объектаCachedRowSetпроизошла ошибка - См. также:
createCopyNoConstraints
CachedRowSet createCopyNoConstraints() throws SQLException
CachedRowSet, являющийся глубокой копией данных этого объекта CachedRowSet, но независимый от него. В отличие от объекта RowSet, созданного в результате вызова метода createShared, изменения, внесенные в копию этого объекта CachedRowSet, не должны быть видны ему. Кроме того, прослушиватели событий, зарегистрированные для этого объекта CachedRowSet, не должны распространять свое действие на новый объект RowSet. Также любые ограничения, установленные для этого объекта CachedRowSet, не должны сохраняться в копии.- Возвращает:
- новый объект
CachedRowSet, являющийся глубокой копией этого объектаCachedRowSetи полностью независимый от этого объектаCachedRowSet - Выбрасывает:
-
SQLException— если при создании копии этого объектаCachedRowSetпроизошла ошибка - См. также:
getRowSetWarnings
RowSetWarning getRowSetWarnings() throws SQLException
RowSet. Последующие предупреждения для этого объекта RowSet будут добавлены в цепочку объекта RowSetWarning, возвращаемого этим методом. Цепочка предупреждений автоматически очищается при каждом чтении новой строки. Этот метод нельзя вызывать для закрытого объекта RowSet; в противном случае будет выброшено исключение SQLException.- Возвращает:
- RowSetWarning — первый выданный объект
RowSetWarningили null, если предупреждений нет - Выбрасывает:
-
SQLException— если этот метод вызван для закрытого RowSet - См. также:
getShowDeleted
boolean getShowDeleted() throws SQLException
boolean, указывающее, отображаются ли помеченные для удаления строки среди текущих строк. Если возвращается true, удаленные строки видны среди текущих строк. Если возвращается false, строки не отображаются среди текущих строк. Значение по умолчанию — false. Стандартные реализации RowSet могут ограничивать это поведение по соображениям безопасности или для лучшего соответствия определенным сценариям развертывания. Это определяется реализацией и не является стандартным поведением.
Примечание. Возможность отображения удаленных строк усложняет работу некоторых стандартных методов JDBC RowSet. Однако большинство пользователей RowSet могут просто не учитывать эту особенность, поскольку воспользоваться ею, вероятно, потребуется лишь узкоспециализированным приложениям.
- Возвращает:
-
true, если удаленные строки видны; в противном случае —false - Выбрасывает:
-
SQLException— если реализация RowSet не может определить, видны ли строки, помеченные для удаления - См. также:
setShowDeleted
void setShowDeleted(boolean b) throws SQLException
showDeleted указанное значение boolean, определяющее, отображаются ли помеченные для удаления строки среди текущих строк. Если задано значение true, удаленные строки сразу отображаются среди текущих. Если задано значение false, удаленные строки не отображаются среди текущих.
- Параметры:
-
b—true, если удаленные строки следует отображать; в противном случае —false - Выбрасывает:
-
SQLException— если реализация RowSet не может изменить настройку отображения удаленных строк - См. также:
commit
void commit() throws SQLException
CachedRowSet объект содержит в своем SyncProvider объект Connection, полученный из ResultSet или из свойств JDBC, переданных его конструкторам. Этот метод оборачивает метод фиксации Connection, обеспечивая поддержку гибкого управления транзакциями с автоматической фиксацией или без нее. Делает постоянными все изменения, внесенные методом acceptChanges() после предыдущей фиксации или отката. Этот метод следует использовать только при отключенном режиме автоматической фиксации.
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или объект Connection в этомCachedRowSetнаходится в режиме автоматической фиксации - См. также:
rollback
void rollback() throws SQLException
CachedRowSet объект содержит в своем SyncProvider объект Connection, полученный из исходного ResultSet или из свойств JDBC, переданных ему. Отменяет все изменения, внесенные в текущей транзакции. Этот метод следует использовать только при отключенном режиме автоматической фиксации.
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или объект Connection в этомCachedRowSetнаходится в режиме автоматической фиксации.
rollback
void rollback(Savepoint s) throws SQLException
CachedRowSet объект содержит в своем SyncProvider объект Connection, полученный из исходного ResultSet или из свойств JDBC, переданных ему. Отменяет все изменения, внесенные в текущую транзакцию, до последней контрольной точки транзакции Savepoint. Этот метод следует использовать только при отключенном режиме автоматической фиксации.
- Параметры:
-
s— контрольная точка транзакцииSavepoint - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или объект Connection в этомCachedRowSetнаходится в режиме автоматической фиксации.
rowSetPopulated
void rowSetPopulated(RowSetEvent event, int numRows) throws SQLException
numRows гарантирует, что это событие будет генерироваться через каждые numRow. Источник события можно получить с помощью метода event.getSource.
- Параметры:
-
event— объектRowSetEvent, содержащий объектRowSet, являющийся источником событий -
numRows— при заполнении — интервал в количестве строк, по достижении которого должен генерироваться вызовCachedRowSetpopulated; значение по умолчанию — ноль; значение не может быть меньшеfetchSizeили нуля - Выбрасывает:
-
SQLException—numRows < 0 or numRows < getFetchSize()
populate
void populate(ResultSet rs, int startRow) throws SQLException
CachedRowSet данными из указанного объекта ResultSet. Этот метод связан с методом populate(ResultSet), но дополнен параметром, задающим начальную позицию в объекте ResultSet, откуда следует заполнять экземпляр CachedRowSet. Этот метод можно использовать вместо метода execute, если приложение подключено к открытому объекту ResultSet. Использование метода populate может быть эффективнее, чем использование варианта метода execute без параметров, поскольку он не открывает новое соединение и не выполняет повторно команду этого объекта CachedRowSet. Использование метода populate удобнее по сравнению с использованием варианта execute, принимающего объект ResultSet.
- Параметры:
-
rs— объектResultSet, содержащий данные для чтения в этот объектCachedRowSet -
startRow— позиция в объектеResultSet, с которой следует начать заполнение записей в этом объектеCachedRowSet - Выбрасывает:
-
SQLException— если передан объектResultSetсо значением null или этот объектCachedRowSetне может получить связанный объектResultSetMetaData - См. также:
setPageSize
void setPageSize(int size) throws SQLException
CachedRowSet. Объект CachedRowSet можно настроить так, чтобы он заполнялся порциями строк размером со страницу. При вызове populate() или execute() объект CachedRowSet получает следующую страницу согласно исходному SQL-запросу, использованному для заполнения RowSet.- Параметры:
-
size— размер страницы для объектаCachedRowSet - Выбрасывает:
-
SQLException— если при установке размера страницыCachedRowSetпроизошла ошибка или размер страницы меньше 0.
getPageSize
int getPageSize()
CachedRowSet- Возвращает:
- размер страницы
int
nextPage
boolean nextPage() throws SQLException
CachedRowSet. При этом реализация CachedRowSet получает строки следующего размера страницы и заполняет RowSet, если в области действия исходного SQL-запроса, использованного для заполнения RowSet, остались строки.- Возвращает:
- true, если есть другие страницы; false, если это последняя страница
- Выбрасывает:
-
SQLException— если при получении следующей страницы произошла ошибка или если этот метод вызван преждевременно, до вызова populate или execute.
previousPage
boolean previousPage() throws SQLException
CachedRowSet. Это заставляет реализацию CachedRowSet получить строки предыдущего размера страницы и заполнить RowSet. Количество строк, возвращаемых на предыдущей странице, всегда должно оставаться в пределах исходного SQL-запроса, использованного для заполнения RowSet.- Возвращает:
- true, если предыдущая страница успешно получена; false, если это первая страница.
- Вызывает исключение:
-
SQLException— если при получении предыдущей страницы произошла ошибка или если этот метод вызван преждевременно, до вызова populate или execute.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.