Udostępnij za pośrednictwem


Wykonywanie poleceń zawiera parametry Valued tabela

Wykonywanie polecenia, które zawiera wartości w tabela parametrów wymaga dwa etapy:

  1. Określ typy parametrów.

  2. 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.