Freigeben über


Festlegen von Eigenschaften im Anbieter

Suchen Sie die Eigenschaftengruppe und die Eigenschafts-ID für die gewünschte Eigenschaft. Weitere Informationen finden Sie unter OLE DB-Eigenschaften in der OLE DB-Programmierreferenz.

Suchen Sie im vom Assistenten generierten Anbietercode die Eigenschaftenzuordnung, die der Eigenschaftengruppe entspricht. Der Name der Eigenschaftengruppe entspricht in der Regel dem Namen des Objekts. Befehls- und Rowseteigenschaften finden Sie im Befehl oder Rowset; Datenquellen- und Initialisierungseigenschaften finden Sie im Datenquellenobjekt.

Fügen Sie in der Eigenschaftenzuordnung ein PROPERTY_INFO_ENTRY_EX Makro hinzu. PROPERTY_INFO_ENTRY_EX akzeptiert vier Parameter:

  • Die Eigenschafts-ID, die Ihrer Eigenschaft entspricht. Entfernen Sie die ersten sieben Zeichen ("DBPROP_") vom Anfang des Eigenschaftennamens. Wenn Sie beispielsweise hinzufügen DBPROP_MAXROWSmöchten, übergeben Sie es MAXROWS als erstes Element. Wenn es sich um eine benutzerdefinierte Eigenschaft handelt, übergeben Sie den vollständigen GUID-Namen (z. B DBMYPROP_MYPROPERTY. ).

  • Der Variantentyp der Eigenschaft (in OLE DB-Eigenschaften in der OLE DB-Programmierreferenz). Geben Sie den VT_ Typ (z. B. VT_BOOL oder VT_I2) ein, der dem Datentyp entspricht.

  • Flags, um anzugeben, ob die Eigenschaft lesbar und schreibbar ist, und die Gruppe, zu der sie gehört. Der folgende Code gibt beispielsweise eine Lese-/Schreibeigenschaft an, die zur Rowsetgruppe gehört:

    DBPROPFLAGS_ROWSET | DBPROPFLAGS_READ | DBPROPFLAGS_WRITE
    
  • Der Basiswert der Eigenschaft. Dies kann z. B. für einen booleschen Typ oder null für einen ganzzahligen Typ sein VARIANT_FALSE . Die Eigenschaft weist diesen Wert auf, es sei denn, sie wurde geändert.

    Hinweis

    Einige Eigenschaften sind mit anderen Eigenschaften verbunden oder verkettet, z. B. Lesezeichen oder Aktualisierungen. Wenn ein Consumer eine Eigenschaft auf "true" festlegt, kann auch eine andere Eigenschaft festgelegt werden. Die OLE DB-Anbietervorlagen unterstützen dies über die Methode CUtlProps::OnPropertyChanged.

Von Microsoft OLE DB-Anbietern ignorierte Eigenschaften

Die Microsoft OLE DB-Anbieter ignorieren die folgenden OLE DB-Eigenschaften:

  • DBPROP_MAXROWS funktioniert nur für schreibgeschützte Anbieter (d. h. wo DBPROP_IRowsetChange und DBPROP_IRowsetUpdate sind false). Andernfalls wird diese Eigenschaft nicht unterstützt.

  • DBPROP_MAXPENDINGROWS wird ignoriert; der Anbieter gibt seinen eigenen Grenzwert an.

  • DBPROP_MAXOPENROWS wird ignoriert; der Anbieter gibt seinen eigenen Grenzwert an.

  • DBPROP_CANHOLDROWS wird ignoriert; der Anbieter gibt seinen eigenen Grenzwert an.

Siehe auch

Arbeiten mit OLE DB-Anbietervorlagen