Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die folgenden Standard-OLE DB-Methoden unterstützen Tabellenwertparameter:
Methode |
Tabellenwertparameter-Unterstützung |
|---|---|
ITableDefinitionWithConstraints::CreateTableWithConstraints |
Wird verwendet, wenn Sie den Typ des Tabellenwertparameters kennen und ein Tabellenwertparameter-Rowsetobjekt anhand der Typinformation instanziieren möchten. Weitere Informationen zu diesem "statischen Szenario" finden Sie unter Tabellenwertparameter-Rowseterstellung. |
IOpenRowset::OpenRowset |
Wird verwendet, wenn Sie den Typ eines Tabellenwertparameters nicht kennen und ein Tabellenwertparameter-Rowsetobjekt anhand der vom Server abgerufenen Metadateninformationen instanziieren möchten. Weitere Informationen zu diesem "dynamischen Szenario" finden Sie unter Tabellenwertparameter-Rowseterstellung. |
ISSCommandWithParameters::SetParameterInfo |
Zur Bezeichnung eines Tabellenwertparameter-Befehlsparameters gibt der Consumer im pwszName-Element der DBPARAMBINDINFO-Struktur den Typ des Parameters als "Tabelle" oder DBTYPE_TABLE an. Der ulParamSize-Wert wird auf ~0 festgelegt. Weitere Informationen finden Sie unter "Tabellenwertparameter-Spezifikation" in Ausführen von Befehlen, die Tabellenwertparameter enthalten. |
ISSCommandWithParameters::SetParameterProperties |
Legt spezielle Eigenschaften für Tabellenwertparameter fest, z. B. Schemaname, Typname, Spaltenreihenfolge und Standardspalten. Der Consumer gibt die Ordnungszahl des Parameterwerts unter iOrdinal in der SSPARAMPROPS-Struktur an. Die angeforderte Eigenschaftengruppe ist DBPROPSET_SQLSERVERPARAMETER. |
ISSCommandWithParameters::GetParameterInfo |
Ruft die Typen aller Parameter zu einem angegebenen Befehl ab. Für Tabellenwertparameter verfügt das wType-Feld in der DBPARAMINFO-Struktur über den Typ DBTYPE_TABLE. Das ulParamSize-Feld wird auf ~ 0 festgelegt, um anzugeben, dass die Länge unbekannt ist. |
ISSCommandWithParameters::GetParameterProperties |
Ruft weitere Typinformationen für Parameter des DBTYPE_TABLE-Typs ab. Der Consumer gibt die Ordnungszahl des Parameterwerts im iOrdinal-Element der SSPARAMPROPS-Struktur an. Der Consumer kann beliebige Eigenschaften der DBPROPSET_SQLSERVERPARAMETER-Eigenschaftengruppe anfordern, die unter ISSCommandWithParameters::SetParameterProperties aufgeführt sind. Da der Consumer den Tabellenwertparameter-Typ nicht kennt, muss der Anbieter für SSPROP_PARAM_TYPE_TYPENAME, SSPROP_PARAM_TYPE_SCHEMANAME und SSPROP_PARAM_TYPE_CATALOGNAME die korrekten Werte festlegen. Die übrigen Eigenschaften, SSPROP_PARAM_TABLE_DEFAULT_COLUMNS und SSPROP_PARAM_TABLE_COLUMN_SORT_ORDER, behalten ihre Standardwerte. Nachdem der Consumer den Tabellenwertparameter-Typnamen erkannt hat, erstellt er mithilfe von IOpenRowset::OpenRowset eine Instanz dieses Tabellenwertparameters. Dabei wird der Name des Tabellenwertparameter-Typs angegeben. Weitere Informationen finden Sie unter Tabellenwertparameter-Typermittlung. |
IRowsetInfo::GetProperties |
Ruft Tabellenwertparameter-Rowseteigenschaften ab. Der Consumer kann diese Eigenschaften verwenden, um Bindungen optimal einzurichten. |
IColumnsRowset::GetColumnsRowset |
Ruft Metadateninformationen zu einer SQL Server-Tabelle ab. Für Tabellenwertparameter stellt diese Schnittstelle ausführliche Metadateninformationen über jede Spalte bereit, darunter:
|
IAccessor::CreateAccessor |
Um ein Tabellenwertparameter-Rowsetobjekt an einen Befehlsparameter zu binden, erstellen Sie einen Accessor. Für das wType-Element wird dabei DBTYPE_TABLE festgelegt. Die DBOBJECT-Struktur enthält IID_IRowset oder eine beliebige andere gültige Rowsetobjekt-Schnittstelle im iid-Element. Die übrigen Felder werden ähnlich behandelt wie DBTYPE_IUNKNOWN. |
Siehe auch
Aufgaben
Verwenden von Tabellenwertparametern (OLE DB)