Udostępnij za pośrednictwem


SqlDataReader.GetSchemaTable Metoda

Definicja

Zwraca element DataTable opisujący metadane kolumny elementu SqlDataReader.

public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public:
 override System::Data::DataTable ^ GetSchemaTable();
public System.Data.DataTable GetSchemaTable ();
public override System.Data.DataTable GetSchemaTable ();
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Function GetSchemaTable () As DataTable
Public Overrides Function GetSchemaTable () As DataTable

Zwraca

Element DataTable opisujący metadane kolumny.

Implementuje

Wyjątki

Element SqlDataReader jest zamknięty.

Uwagi

Metoda GetSchemaTable zwraca następujące metadane dotyczące każdej kolumny:

Kolumna DataReader Opis
Allowdbnull Ustaw, czy użytkownik może ustawić kolumnę na wartość null lub jeśli dostawca nie może określić, czy odbiorca może ustawić kolumnę na wartość null. W przeciwnym razie nie ustawiono. Kolumna może zawierać wartości null, nawet jeśli nie można ustawić jej na wartość null.
BaseCatalogName Nazwa wykazu w magazynie danych, który zawiera kolumnę. Wartość NULL, jeśli nie można określić nazwy katalogu podstawowego. Wartość domyślna tej kolumny to wartość null.
BaseColumnName Nazwa kolumny w magazynie danych. Może to być inne niż nazwa kolumny zwrócona w kolumnie ColumnName, jeśli użyto aliasu. Wartość null, jeśli nie można określić nazwy kolumny podstawowej lub jeśli kolumna zestawu wierszy jest pochodna, ale nie identyczna, kolumna w magazynie danych. Wartość domyślna tej kolumny to wartość null.
BaseSchemaName Nazwa schematu w magazynie danych, który zawiera kolumnę. Wartość null, jeśli nie można określić nazwy schematu podstawowego. Wartość domyślna tej kolumny to wartość null.
Nazwa_serwera podstawowego Nazwa wystąpienia usługi Microsoft SQL Server używanego przez usługę SqlDataReader.
Nazwa tabeli bazowej Nazwa tabeli lub widoku w magazynie danych zawierającym kolumnę. Wartość null, jeśli nie można określić nazwy tabeli podstawowej. Wartość domyślna tej kolumny to wartość null.
nazwa_kolumny Nazwa kolumny; może to nie być unikatowe. Jeśli nie można tego określić, zwracana jest wartość null. Ta nazwa zawsze odzwierciedla najnowszą zmianę nazwy kolumny w bieżącym widoku lub tekście polecenia.
KolumnaOrdinal Porządkowość oparta na zerach kolumny. Ta kolumna nie może zawierać wartości null.
Columnsize Maksymalna możliwa długość wartości w kolumnie. W przypadku kolumn używających typu danych o stałej długości jest to rozmiar typu danych. W przypadku nvarchar(MAX)kolumn , varchar(MAX)i varbinary(MAX) przechowywanych w bazie danych SQL Server maksymalny rozmiar to 2 GB. Jeśli te kolumny są przechowywane i dostępne jako pliki, limit maksymalnego rozmiaru jest nakładany przez system plików. Ta wartość zmienia się podczas używania słowa kluczowego Type System Version w parametry połączenia. W przypadku nowych typów są one reprezentowane jako typy downlevel. Typy danych MAX zwracają normalny 4k dla nvarchar parametrów i 8000 dla varcharparametru . Aby uzyskać więcej informacji, zobacz dokumentację języka Transact-SQL.
DataTypeName Zwraca ciąg reprezentujący typ danych określonej kolumny.
IsAliased true: Nazwa kolumny jest aliasem.

false: Nazwa kolumny nie jest aliasem.
IsAutoIncrement true: Kolumna przypisuje wartości do nowych wierszy w stałych przyrostach.

false: Kolumna nie przypisuje wartości do nowych wierszy w stałych przyrostach. Wartość domyślna tej kolumny to false.
IsColumnSet true: Kolumna jest rozrzedzona kolumną, która jest elementem członkowskim zestawu kolumn.
Isexpression true: Kolumna jest wyrażeniem.

false: Kolumna nie jest wyrażeniem.
IsHidden true: Kolumna jest ukryta.

false: kolumna nie jest ukryta.
IsIdentity true: Kolumna jest kolumną tożsamości.

false: Kolumna nie jest kolumną tożsamości.
Iskey true: Kolumna jest jednym z zestawów kolumn w zestawie wierszy, który w połączeniu jednoznacznie identyfikuje wiersz. Zestaw kolumn z ustawioną IsKey wartością true musi jednoznacznie zidentyfikować wiersz w zestawie wierszy. Nie ma potrzeby, aby ten zestaw kolumn był minimalnym zestawem kolumn. Ten zestaw kolumn może być generowany na podstawie klucza podstawowego tabeli podstawowej, unikatowego ograniczenia lub unikatowego indeksu.

false: Kolumna nie jest wymagana do unikatowego zidentyfikowania wiersza.
IsLong true: Kolumna zawiera binarny długi obiekt (BLOB), który zawiera bardzo długie dane. Definicja bardzo długich danych jest specyficzna dla dostawcy.

false: Kolumna nie zawiera binarnego długiego obiektu (BLOB), który zawiera bardzo długie dane.
IsReadOnly true: nie można zmodyfikować kolumny.

false: kolumnę można modyfikować.
IsRowVersion true: Kolumna zawiera trwały identyfikator wiersza, do którego nie można zapisać, i nie ma znaczącej wartości z wyjątkiem tożsamości wiersza.

false: Kolumna nie zawiera trwałego identyfikatora wiersza, do którego nie można zapisać, i nie ma znaczącej wartości z wyjątkiem tożsamości wiersza.
Isunique true: Kolumna jest typu timestamp.

false: Kolumna nie jest typu timestamp.
NonVersionedProviderType Typ kolumny niezależnie od bieżącej Type System Version określonej w parametry połączenia. Zwrócona wartość pochodzi z wyliczenia SqlDbType .
NumericPrecision Jeśli ProviderType jest typem danych liczbowych, jest to maksymalna precyzja kolumny. Precyzja zależy od definicji kolumny. Jeśli ProviderType nie jest typem danych liczbowych, jest to 255.
Numericscale Jeśli ProviderType jest DBTYPE_DECIMAL lub DBTYPE_NUMERIC, liczba cyfr po prawej stronie punktu dziesiętnego. W przeciwnym razie jest to 255.
ProviderSpecificDataType Zwraca typ danych specyficzny dla dostawcy kolumny na podstawie słowa kluczowego Type System Version w parametry połączenia.
Typ dostawcy Wskaźnik typu danych kolumny. Jeśli typ danych kolumny różni się od wiersza do wiersza, musi to być obiekt. Ta kolumna nie może zawierać wartości null.
UdtAssemblyQualifiedName Jeśli kolumna jest typem zdefiniowanym przez użytkownika (UDT), jest to kwalifikowana nazwa zestawu UDT zgodnie z wartością AssemblyQualifiedName. Jeśli kolumna nie jest udT, ma wartość null.
XmlSchemaCollectionDatabase Nazwa bazy danych, w której znajduje się kolekcja schematów dla tego wystąpienia XML, jeśli wiersz zawiera informacje o kolumnie XML. Ta wartość to null (Nothing w Visual Basic), jeśli kolekcja jest zdefiniowana w bieżącej bazie danych. Ma również wartość null, jeśli nie ma kolekcji schematów, w tym przypadku XmlSchemaCollectionName kolumny i XmlSchemaCollectionOwningSchema również mają wartość null.
Xmlschemacollectionname Nazwa kolekcji schematów dla tego wystąpienia XML, jeśli wiersz zawiera informacje o kolumnie XML. Ta wartość to null (Nothing w Visual Basic), jeśli nie ma skojarzonej kolekcji schematów. Jeśli wartość ma wartość null, XmlSchemaCollectionDatabase kolumny i XmlSchemaCollectionOwningSchema również mają wartość null.
XmlSchemaCollectionOwningSchema Schemat relacyjny, w którym znajduje się kolekcja schematów dla tego wystąpienia XML, jeśli wiersz zawiera informacje o kolumnie XML. Ta wartość to null (Nothing w Visual Basic), jeśli kolekcja jest zdefiniowana w bieżącej bazie danych. Ma również wartość null, jeśli nie ma kolekcji schematów, w tym przypadku XmlSchemaCollectionDatabase kolumny i XmlSchemaCollectionName również mają wartość null.

Uwaga

Aby upewnić się, że kolumny metadanych zwracają prawidłowe informacje, należy wywołać ExecuteReader parametr z parametrem ustawionym na behaviorKeyInfowartość . W przeciwnym razie niektóre kolumny w tabeli schematu mogą zwracać domyślne, null lub nieprawidłowe dane.

Dotyczy

Zobacz też