Udostępnij za pośrednictwem


SqlDataReader.GetSchemaTable Metoda

Definicja

Zwraca obiekt DataTable , który opisuje metadane kolumny elementu SqlDataReader.

public:
 override System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.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 jej ustawić na wartość null.
Nazwa dziennika bazowego 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 Nazwakolumny, 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 program 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.
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 Liczba porządkowa 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 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 parametrach połączenia. W przypadku nowych typów są one reprezentowane jako typy poziomów w dół. Typy danych MAX zwracają normalne wartości 4k dla nvarchar i 8000 dla varchar. 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 wzięty ze sobą w unikatowy sposób identyfikuje wiersz. Zestaw kolumn z ustawioną IsKey wartością true musi jednoznacznie 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 obiekt Binary Long Object (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 ma typ timestamp.

false: Kolumna nie jest typu timestamp.
NonVersionedProviderType Typ kolumny niezależnie od bieżącego Type System Version określonego w parametrach 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 to typ danych liczbowych, jest to 255.
Numericscale Jeśli ProviderType jest DBTYPE_DECIMAL lub DBTYPE_NUMERIC, liczba cyfr po prawej stronie przecinka 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 parametrach 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 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. Wartość jest również równa 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. Wartość jest również równa 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ą 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