Поделиться через


Установка свойств в поставщике

Определите группу и идентификатор требуемого свойства.Дополнительные сведения см. в разделе Свойства OLE DBСправочника программиста по OLE DB.

В коде поставщика, сгенерированном мастером, найдите сопоставление свойства, соответствующее группе свойств.Имя группы свойств, как правило, соответствует имени объекта.Свойства команд и наборов строк можно найти в командах или наборах строк, свойства источников данных и инициализационные свойства — в объекте источника данных.

В сопоставлении свойств добавьте макрос PROPERTY_INFO_ENTRY_EX.Макрос PROPERTY_INFO_ENTRY_EX имеет четыре параметра:

  • Идентификатор свойства, соответствующий свойству.Необходимо удалить первые семь символов ("DBPROP_") из имени свойства.Например, если добавляется свойство DBPROP_MAXROWS, передайте в качестве первого параметра MAXROWS.Для пользовательских свойств необходимо передать полное GUID-имя (например, DBMYPROP_MYPROPERTY).

  • Значение типа variant свойства (см. раздел Свойства OLE DBсправочника программиста по OLE DB).Введите VT_-тип (например, VT_BOOL или VT_I2), соответствующий типу данных.

  • Флаги, указывающие, будет ли свойство доступно для чтения и записи, и к какой группе оно принадлежит.Например, следующий код определяет свойство, доступное для чтения и записи и принадлежащее группе набора строк:

    DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
    
  • Базовое значение свойства.Например, для логического типа это может быть значение VARIANT_FALSE, а для целого типа — ноль.Свойство будет иметь это значение до тех пор, пока оно не будет изменено.

    ПримечаниеПримечание

    Некоторые свойства (например, закладки или обновляющиеся свойства) соединены (сцеплены) с другими свойствами.Когда потребитель устанавливает значение одного свойства, при этом значение другого свойства также может быть изменено.Шаблоны поставщиков OLE DB поддерживают эту функциональность с помощью метода CUtlProps::OnPropertyChanged.

Свойства, игнорируемые поставщиками Microsoft OLE DB

Поставщики Microsoft OLE DB игнорируют следующие свойства OLE DB:

  • Свойство DBPROP_MAXROWS работает для тех поставщиков, которые позволяют только считывать данные (то есть тех, у которых свойства DBPROP_IRowsetChange и DBPROP_IRowsetUpdate имеют значение false); в противном случае это свойство не поддерживается.

  • Свойство DBPROP_MAXPENDINGROWS игнорируется; поставщик устанавливает собственное ограничение.

  • Свойство DBPROP_MAXOPENROWS игнорируется; поставщик устанавливает собственное ограничение.

  • Свойство DBPROP_CANHOLDROWS игнорируется; поставщик устанавливает собственное ограничение.

См. также

Основные понятия

Работа с шаблонами поставщика OLE DB