SqlDataReader.GetSchemaTable Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto DataTable che descrive i metadati della colonna di 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
Restituisce
Oggetto DataTable che descrive i metadati della colonna.
Implementazioni
Eccezioni
SqlDataReader è chiuso.
Commenti
Il GetSchemaTable metodo restituisce i metadati seguenti relativi a ogni colonna:
Colonna DataReader | Descrizione |
---|---|
AllowDBNull | Impostare se il consumer può impostare la colonna su un valore Null o se il provider non può determinare se il consumer può impostare la colonna su un valore Null. In caso contrario, non impostato. Una colonna può contenere valori Null, anche se non può essere impostata su questo tipo di valore. |
BaseCatalogName | Nome del catalogo nell'archivio dati contenente la colonna. NULL se il nome del catalogo di base non può essere determinato. Il valore predefinito di questa colonna è un valore Null. |
BaseColumnName | Nome della colonna nell'archivio dati. Questo potrebbe essere diverso dal nome della colonna restituito nella colonna ColumnName se è stato usato un alias. Valore Null se il nome della colonna di base non può essere determinato o se la colonna del set di righe è derivata, ma non identica a, una colonna nell'archivio dati. Il valore predefinito di questa colonna è un valore Null. |
BaseSchemaName | Nome dello schema nell'archivio dati contenente la colonna. Valore Null se il nome dello schema di base non può essere determinato. Il valore predefinito di questa colonna è un valore Null. |
BaseServerName | Nome dell'istanza di Microsoft SQL Server utilizzato da SqlDataReader. |
BaseTableName | Nome della tabella o vista nell'archivio dati contenente la colonna. Valore Null se il nome della tabella di base non può essere determinato. Il valore predefinito di questa colonna è un valore Null. |
ColumnName | Nome della colonna; potrebbe non essere univoco. Se non può essere determinata, viene restituito un valore Null. Questo nome riflette sempre la ridenominazione più recente della colonna nella vista o nel testo del comando corrente. |
ColumnOrdinal | Ordinale in base zero della colonna. Questa colonna non può contenere un valore Null. |
ColumnSize | Lunghezza massima possibile di un valore nella colonna. Per le colonne che usano un tipo di dati a lunghezza fissa, si tratta della dimensione del tipo di dati. Per nvarchar(MAX) , varchar(MAX) e varbinary(MAX) colonne archiviate in un database SQL Server, la dimensione massima è 2 GB. Se queste colonne vengono archiviate e accessibili come file, il limite delle dimensioni massime viene imposto dal file system. Questo valore cambia quando si usa la Type System Version parola chiave nella stringa di connessione. Per i nuovi tipi sono rappresentati come tipi di livello inferiore. I tipi di dati MAX restituiscono la normale 4k per nvarchar e 8000 per varchar . Per altre informazioni, vedere riferimento a Transact-SQL. |
DataTypeName | Restituisce una stringa che rappresenta il tipo di dati della colonna specificata. |
IsAliased | true : il nome della colonna è un alias.false : il nome della colonna non è un alias. |
IsAutoIncrement | true : la colonna assegna valori a nuove righe in incrementi fissi.false : la colonna non assegna valori alle nuove righe in incrementi fissi. Il valore predefinito di questa colonna è false . |
IsColumnSet | true : la colonna è una colonna sparse che è un membro di un set di colonne. |
IsExpression | true : la colonna è un'espressione.false : la colonna non è un'espressione. |
IsHidden | true : la colonna è nascosta.false : la colonna non è nascosta. |
IsIdentity | true : la colonna è una colonna identity.false : la colonna non è una colonna identity. |
IsKey | true : la colonna è una di un set di colonne nel set di righe che, preso insieme, identifica in modo univoco la riga. Il set di colonne con IsKey impostato su true deve identificare in modo univoco una riga nel set di righe. Non è necessario che questo set di colonne sia un set minimo di colonne. Questo set di colonne può essere generato da una chiave primaria della tabella di base, un vincolo UNIQUE o un indice univoco.false : la colonna non è necessaria per identificare in modo univoco la riga. |
IsLong | true : la colonna contiene un BLOB (Binary Long Object) che contiene dati molto lunghi. La definizione di dati molto lunghi è specifica del provider.false : la colonna non contiene un BLOB (Binary Long Object) che contiene dati molto lunghi. |
IsReadOnly | true : la colonna non può essere modificata.false : la colonna può essere modificata. |
IsRowVersion | true : la colonna contiene un identificatore di riga persistente che non può essere scritto in e non ha alcun valore significativo, ad eccezione dell'identità della riga.false : la colonna non contiene un identificatore di riga persistente che non può essere scritto in e non ha alcun valore significativo, ad eccezione dell'identità della riga. |
IsUnique | true : la colonna è di tipo timestamp .false : la colonna non è di tipo timestamp . |
NonVersionedProviderType | Tipo della colonna indipendentemente dall'oggetto corrente Type System Version specificato nella stringa di connessione. Il valore restituito proviene dall'enumerazione SqlDbType . |
NumericPrecision | Se ProviderType è un tipo di dati numerico, si tratta della precisione massima della colonna. La precisione dipende dalla definizione della colonna. Se ProviderType non è un tipo di dati numerico, si tratta di 255. |
NumericScale | Se ProviderType è DBTYPE_DECIMAL o DBTYPE_NUMERIC, il numero di cifre a destra del punto decimale. In caso contrario, si tratta di 255. |
ProviderSpecificDataType | Restituisce il tipo di dati specifico del provider della colonna in base alla Type System Version parola chiave nella stringa di connessione. |
ProviderType | Indicatore del tipo di dati della colonna. Se il tipo di dati della colonna varia da riga a riga, deve essere Object. Questa colonna non può contenere un valore Null. |
UdtAssemblyQualifiedName | Se la colonna è un tipo definito dall'utente (UDT), si tratta del nome qualificato dell'assembly UDT in base a AssemblyQualifiedName. Se la colonna non è un'UDT, questa è null. |
XmlSchemaCollectionDatabase | Nome del database in cui si trova la raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML. Questo valore è (Nothing in Visual Basic) se la raccolta è null definita all'interno del database corrente. È anche Null se non è presente alcuna raccolta di schemi, in cui le XmlSchemaCollectionName colonne e XmlSchemaCollectionOwningSchema sono anche Null. |
XmlSchemaCollectionName | Nome della raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML. Questo valore è null (Nothing in Visual Basic) se non è presente alcuna raccolta di schemi associata. Se il valore è Null, le XmlSchemaCollectionDatabase colonne e XmlSchemaCollectionOwningSchema sono anche Null. |
XmlSchemaCollectionOwningSchema | Lo schema relazionale proprietario in cui si trova la raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML. Questo valore è (Nothing in Visual Basic) se la raccolta è null definita all'interno del database corrente. È anche Null se non è presente alcuna raccolta di schemi, in cui le XmlSchemaCollectionDatabase colonne e XmlSchemaCollectionName sono anche Null. |
Nota
Per assicurarsi che le colonne di metadati restituiscono le informazioni corrette, è necessario chiamare ExecuteReader con il behavior
parametro impostato su KeyInfo
. In caso contrario, alcune delle colonne nella tabella dello schema potrebbero restituire dati predefiniti, Null o non corretti.