SqlDataReader.GetSchemaTable Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.