SqlDataReader.GetSchemaTable Metoda

Definicja

Zwraca element opisujący DataTable metadane kolumny obiektu 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 odbiorca 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.
Nazwa kolumny bazowej Nazwa kolumny w magazynie danych. Może to być inne niż nazwa kolumny zwrócona w kolumnie ColumnName, jeśli został użyty alias. Wartość null, jeśli nie można określić nazwy kolumny podstawowej lub jeśli kolumna zestawu wierszy jest pochodna, ale nie jest taka sama, 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ć podstawowej nazwy schematu. Wartość domyślna tej kolumny to wartość null.
Nazwa_serwera bazowego Nazwa wystąpienia Microsoft SQL Server używanego przez SqlDataReader.
Nazwa tabeli bazowej Nazwa tabeli lub widoku w magazynie danych, który zawiera kolumnę. Wartość null, jeśli nie można określić nazwy tabeli podstawowej. Wartość domyślna tej kolumny to wartość null.
ColumnName 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ądkowa na podstawie zera kolumny. Ta kolumna nie może zawierać wartości null.
Rozmiar kolumny 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)varchar(MAX) i varbinary(MAX) kolumn przechowywanych w bazie danych SQL Server maksymalny rozmiar wynosi 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 obniżania poziomu. Typy danych MAX zwracają normalny 4k dla nvarchar i 8000 dla varchar. Aby uzyskać więcej informacji, zobacz dokumentację 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.
Jest ukryty 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óre wspólnie identyfikują wiersze. Zestaw kolumn z IsKey ustawioną wartością true musi unikatowo identyfikować 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 identyfikowania 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 obiektu Binary Long Object (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 SqlDbType wyliczenia.
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 z prawej strony 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, jest to 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ść jest null (Nothing w Visual Basic), jeśli kolekcja jest zdefiniowana w bieżącej bazie danych. Jest to 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ść jest null (Nothing w Visual Basic), jeśli nie ma skojarzonej kolekcji schematów. Jeśli wartość ma wartość null, kolumny XmlSchemaCollectionDatabase 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ść jest null (Nothing w Visual Basic), jeśli kolekcja jest zdefiniowana w bieżącej bazie danych. Jest to również wartość null, jeśli nie ma kolekcji schematów, w tym przypadku XmlSchemaCollectionDatabase kolumny i XmlSchemaCollectionName również mają wartość null.

Note

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

Dotyczy

Zobacz też