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 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 varchar parametru . 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 behavior
KeyInfo
wartość . W przeciwnym razie niektóre kolumny w tabeli schematu mogą zwracać domyślne, null lub nieprawidłowe dane.