Wykonywanie poleceń zawiera parametry Valued tabela
Wykonywanie polecenia, które zawiera wartości w tabela parametrów wymaga dwa etapy:
Określ typy parametrów.
Powiązania danych parametru.
Tabela Valued Specyfikacja parametr
Konsument może określić typu parametru wartości w tabela.Informacje te obejmują nazwę typu parametru wartości w tabela.Jeśli typ zdefiniowany przez użytkownika tabela dla parametru wartości w tabela nie ma bieżącego domyślnego schematu dla połączenia również zawiera nazwę schematu.W zależności od obsługi serwera konsument może również określić informacje opcjonalne metadane, takie jak kolejność kolumn i można określić, że wszystkie wiersze, dla poszczególnych kolumn mają wartości domyślne.
Aby określić parametr wycenione tabela, wywołania konsumenta ISSCommandWithParamter::SetParameterInfo, a opcjonalnie wywołuje ISSCommandWithParameters::SetParameterProperties. W przypadku parametru wartości tabela pwszDataSourceType pole w strukturze DBPARAMBINDINFO ma wartość DBTYPE_TABLE. The ulParamSize pole is zestaw to ~0 to indicate that length is unknown. Właściwości określonej wartości w tabela parametrów, takich jak nazwa schematu, nazwa typu, kolejność kolumn i kolumn domyślnych zestaw przy użyciu ISSCommandWithParameters::SetParameterProperties.
Tabela Valued wiązanie parametr
Parametr wycenione tabela może być dowolny obiekt zestawu zestaw wierszy.Dostawca odczytuje z tego obiektu podczas wysyłania wartości w tabela parametrów na serwerze podczas wykonywania.
Aby powiązać wartości w tabela parametrów wywołania konsumenta IAccessor::CreateAccessor. The wType pole of the DBBINDING structure for the tabela-valued parameter is zestaw to DBTYPE_TABLE. The pObject element członkowski of the DBBINDING structure is non-NULL, and the pObject's iid element członkowski is zestaw to IID_IRowset or any other tabela-valued parameter zestaw wierszy object interfaces. Pozostałe pola w strukturze DBBINDING powinny być zestaw taki sam sposób, są one zestaw dla strumieniowa bloków BLOB.
W polu powiązania dla parametru wycenione tabela i obiekt zestawu zestaw wierszy skojarzonych z parametrem wycenione tabela obowiązują następujące ograniczenia:
Wartości stanu tylko dozwolone dla parametru wartości w tabela zestaw wierszy kolumna danych są DBSTATUS_S_ISNULL i DBSTATUS_S_OK.DBSTATUS_S_DEFAULT spowoduje błąd, a wartość stanu związanego będzie zestaw do DBSTATUS_E_BADSTATUS.
Parametr wycenione tabela może zostać oznaczony ze stanem DBSTATUS_S_DEFAULT.Tylko prawidłowe wartości to DBSTATUS_S_DEFAULT i DBSTATUS_S_OK.Gdy jest w stanie zestaw do DBSTATUS_S_DEFAULT, wartość parametru wartości tabela odpowiada pustą tabela.
Kolumny tylko do odczytu wartości z tabela Parameters (tożsamości lub kolumny obliczane) muszą być oznaczone jako domyślne za pomocą właściwość SSPROP_PARAM_TABLE_DEFAULT_COLUMNS.kolumna, które zawierają wartości domyślne również muszą być oznaczone jako domyślne za pośrednictwem SSPROP_PARAM_TABLE_DEFAULT_COLUMNS właściwość, aby zezwolić na wartość domyślna ma być używany dla wartości danych kolumna dla określonego parametru wartości w tabela.Dostawca zignoruje wartości danych dla kolumny oznaczony jako domyślny.
Dane zostaną wysłane do serwera w wypadku kolumn o DBPROP_COL_AUTOINCREMENT lub SSPROP_COL_COMPUTED, chyba że SSPROP_PARAM_TABLE_DEFAULT jest również ustawiona.