M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Наборы рядов

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