Наборы
рядов
Объект-набор рядов является основным объектом ADO, обеспечивающим работу с данными. Он инкапсулирует совокупность рядов из источника данных, механизмы навигации по рядам и поддержания рядов в актуальном состоянии.
Объект сессии имеет обязательный интерфейс
IOpenRowset с методом
function OpenRowset(const punkOuter: lUnknown; pTablelD: PDBID; plndexID: PDBID; const riid: TGUID; cPropertySets: UINT; rgPropertySets: PDBPropSetArray; ppRowset: PlUnknown): HResult; stdcall;
который открывает необходимый набор рядов.
В зависимости от возможностей источника данных набор рядов может поддерживать различные интерфейсы. Но пять из них являются обязательными:
- IRowset — обеспечивает
навигацию по рядам;
- IAccessor — обеспечивает
представление информации о формате рядов, содержащихся в буфере набора рядов;
- IRowsetinfo — позволяет
получить информацию о наборах рядов (например, число рядов или число обновленных
рядов);
- Icoiumnsinfo — позволяет
получить информацию о колонках рядов (наименование, тип данных, возможность
обновления и т. д.);
- IconvertType — содержит
единственный метод canConvert, позволяющий определить
возможность преобразования типов данных в наборе рядов.
Примечание
В отличие от привычной практики разработки
интерфейсов в рамках модели СОМ, интерфейсы OLE DB часто имеют всего один-два
метода. В результате большая группа интерфейсов реализует несколько вполне
стандартных функций.
Дополнительные возможности по управлению набором рядов предоставляют следующие интерфейсы:
- IRowsetchange
— выполняет изменения в наборе рядов (вносит изменения, добавляет новые ряды,
удаляет ряды и т. д.);
- IRowsetidentity
— позволяет сравнивать ряды разных рядов;
- IRowsetindex
— обеспечивает использование индексов;
- IRowsetLocate
— выполняет поиск в наборе рядов;
- IRowsetupdate
— реализует механизм кэширования изменений.
|