SqlDataReader.GetSchemaTable Metodo

Definizione

Restituisce un oggetto DataTable che descrive i metadati della colonna dell'oggetto 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

Valori restituiti

Oggetto DataTable che descrive i metadati della colonna.

Implementazioni

Eccezioni

Commenti

Il GetSchemaTable metodo restituisce i metadati seguenti relativi a ogni colonna:

Colonna DataReader Description
Allowdbnull Impostare se il consumer può impostare la colonna su un valore Null o se il provider non è in grado di 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 un valore Null.
BaseCatalogName Nome del catalogo nell'archivio dati che contiene la colonna. NULL se non è possibile determinare il nome del catalogo di base. 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 non è possibile determinare il nome della colonna di base 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 che contiene la colonna. Valore Null se non è possibile determinare il nome dello schema di base. Il valore predefinito di questa colonna è un valore Null.
BaseServerName Nome dell'istanza di Microsoft SQL Server utilizzata dal SqlDataReader.
BaseTableName Nome della tabella o della vista nell'archivio dati che contiene la colonna. Valore Null se non è possibile determinare il nome della tabella di base. Il valore predefinito di questa colonna è un valore Null.
ColumnName Nome della colonna; potrebbe non essere univoco. Se non è possibile determinare questo valore, viene restituito un valore Null. Questo nome riflette sempre la ridenominazione più recente della colonna nella visualizzazione o nel testo del comando corrente.
ColumnOrdinal Ordinale in base zero della colonna. Questa colonna non può contenere un valore Null.
DimensioneColonna Lunghezza massima possibile di un valore nella colonna. Per le colonne che usano un tipo di dati a lunghezza fissa, si tratta delle dimensioni del tipo di dati. Per le colonne nvarchar(MAX), varchar(MAX) e varbinary(MAX) archiviate in un database di SQL Server, la dimensione massima è 2 GB. Se queste colonne vengono archiviate e accessibili come file, il limite per le dimensioni massime viene imposto dal file system. Questo valore cambia quando si usa la parola chiave /> /< nella stringa di connessione. Per i nuovi tipi sono rappresentati come tipi di livello inferiore. I tipi di dati MAX restituiscono i normali 4k per nvarchar e 8000 per varchar. Per altre informazioni, vedere il riferimento 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 alle 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 di tipo sparse membro di un set di colonne.
IsExpression true: la colonna è un'espressione.

false: la colonna non è un'espressione.
ÈNascosto 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, insieme, identificano 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, da un vincolo univoco o da un indice univoco.

false: la colonna non è necessaria per identificare in modo univoco la riga.
IsLong true: la colonna contiene un oggetto BLOB (Binary Long Object) che contiene dati molto lunghi. La definizione di dati molto lunghi è specifica del provider.

false: la colonna non contiene un oggetto 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 in cui non è possibile scrivere e non ha alcun valore significativo, ad eccezione dell'identità della riga.

false: la colonna non contiene un identificatore di riga persistente in cui non è possibile scrivere 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 dal 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 separatore decimale. In caso contrario, si tratta di 255.
ProviderSpecificDataType Restituisce il tipo di dati specifico del provider della colonna in base alla parola chiave />
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 completo dell'assembly del tipo definito dall'utente in base a AssemblyQualifiedName. Se la colonna non è un tipo definito dall'utente, questo valore è 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 è null (Nothing in Visual Basic) se la raccolta è definita all'interno del database corrente. È anche Null se non è presente alcuna raccolta di schemi, nel qual caso anche le XmlSchemaCollectionName colonne e XmlSchemaCollectionOwningSchema sono 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, anche le XmlSchemaCollectionDatabase colonne e XmlSchemaCollectionOwningSchema sono Null.
XmlSchemaCollectionOwningSchema 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 è null (Nothing in Visual Basic) se la raccolta è definita all'interno del database corrente. È anche Null se non è presente alcuna raccolta di schemi, nel qual caso anche le XmlSchemaCollectionDatabase colonne e XmlSchemaCollectionName sono null.

Note

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 colonne della tabella dello schema potrebbero restituire dati predefiniti, Null o non corretti.

Si applica a

Vedi anche