|
Наборы рядов
Объект-набор рядов является основным
объектом 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 — реализует механизм
кэширования изменений.
|