Partager via


Définition de propriétés dans votre fournisseur

Recherchez le groupe de propriétés et l’ID de propriété de la propriété souhaitée. Pour plus d’informations, consultez propriétés OLE DB dans la référence du programmeur OLE DB.

Dans le code du fournisseur généré par l’Assistant, recherchez le mappage de propriétés correspondant au groupe de propriétés. Le nom du groupe de propriétés correspond généralement au nom de l’objet. Les propriétés de commande et d’ensemble de lignes sont disponibles dans l’ensemble de lignes ou de commandes ; Les propriétés de source de données et d’initialisation sont disponibles dans l’objet de source de données.

Dans le mappage de propriétés, ajoutez une macro PROPERTY_INFO_ENTRY_EX . PROPERTY_INFO_ENTRY_EX prend quatre paramètres :

  • ID de propriété correspondant à votre propriété. Supprimez les sept premiers caractères (« DBPROP_ ») à l’avant du nom de la propriété. Par exemple, si vous souhaitez ajouter DBPROP_MAXROWS, passez MAXROWS comme premier élément. S’il s’agit d’une propriété personnalisée, transmettez le nom GUID complet (par exemple). DBMYPROP_MYPROPERTY

  • Type de variante de la propriété (dans les propriétés OLE DB dans la référence du programmeur OLE DB). Entrez le type VT_ (par exemple, VT_BOOL ou VT_I2) correspondant au type de données.

  • Indicateurs pour indiquer si la propriété est lisible et accessible en écriture et le groupe auquel elle appartient. Par exemple, le code suivant indique une propriété en lecture/écriture appartenant au groupe d’ensembles de lignes :

    DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
    
  • Valeur de base de la propriété. Il peut s’agir VARIANT_FALSE d’un type booléen ou de zéro pour un type entier, par exemple. La propriété a cette valeur, sauf si elle est modifiée.

    Remarque

    Certaines propriétés sont connectées ou chaînées à d’autres propriétés, telles que les signets ou la mise à jour. Lorsqu’un consommateur définit une propriété sur true, une autre propriété peut également être définie. Les modèles de fournisseur OLE DB prennent en charge cela via la méthode CUtlProps ::OnPropertyChanged.

Propriétés ignorées par les fournisseurs Microsoft OLE DB

Les fournisseurs Microsoft OLE DB ignorent les propriétés OLE DB suivantes :

  • DBPROP_MAXROWS fonctionne uniquement pour les fournisseurs en lecture seule (c’est-à-dire, où DBPROP_IRowsetChange et DBPROP_IRowsetUpdate sont false) ; sinon cette propriété n’est pas prise en charge.

  • DBPROP_MAXPENDINGROWS est ignoré ; le fournisseur spécifie sa propre limite.

  • DBPROP_MAXOPENROWS est ignoré ; le fournisseur spécifie sa propre limite.

  • DBPROP_CANHOLDROWS est ignoré ; le fournisseur spécifie sa propre limite.

Voir aussi

Utilisation des modèles du fournisseur OLE DB