Редактирование результирующего набора
Технология OLE DB позволяет выполнять редактирование результирующего набора, добавляя, удаляя или изменяя записи.
Для выполнения этих действий в классе CRowset реализован интерфейс IRowsetChange, предоставляющий следующие методы:
- SetData - для изменения записи;
- Insert - для добавления записи;
- Delete - для удаления записи.
Для редактирования записей должно быть соответствующим образом установлено значение свойства DBPROP_UPDATABILITY результирующего набора. Это можно выполнить как в мастере ATL OLE DB Consumer, так и впоследствии вызовом метода AddProperty.
Тип поддерживаемого редактирования указывается следующими константами:
- DBPROPVAL_UP_CHANGE - разрешение изменения записи;
- DBPROPVAL_UP_INSERT - разрешение вставки новой записи;
- DBPROPVAL_UP_DELETE - разрешение удаления записи.
Например:
CDBPropSet ps(DBPROPSET_ROWSET); ps.AddProperty(DBPROP_IRowsetChange, true) ps.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE)
На следующей схеме приведена иерархия классов результирующих наборов: