SqlDataReader.GetSchemaTable Metodo

Definizione

Restituisce un oggetto DataTable che descrive i metadati della colonna dell'oggetto SqlDataReader.Returns a DataTable that describes the column metadata of the SqlDataReader.

public:
 override System::Data::DataTable ^ GetSchemaTable();
public:
 virtual System::Data::DataTable ^ GetSchemaTable();
public override System.Data.DataTable GetSchemaTable ();
public System.Data.DataTable GetSchemaTable ();
override this.GetSchemaTable : unit -> System.Data.DataTable
abstract member GetSchemaTable : unit -> System.Data.DataTable
override this.GetSchemaTable : unit -> System.Data.DataTable
Public Overrides Function GetSchemaTable () As DataTable
Public Function GetSchemaTable () As DataTable

Restituisce

Oggetto DataTable che descrive i metadati della colonna.A DataTable that describes the column metadata.

Implementazioni

Eccezioni

Commenti

Per il metodo GetSchemaTable restituisce i metadati relativi a ogni colonna nell'ordine seguente:For the GetSchemaTable method returns metadata about each column in the following order:

Colonna DataReaderDataReader column DescrizioneDescription
AllowDBNullAllowDBNull 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.Set if the consumer can set the column to a null value or if the provider cannot determine whether the consumer can set the column to a null value. In caso contrario, non impostato.Otherwise, not set. Una colonna può contenere valori Null, anche se non può essere impostata su questo tipo di valore.A column may contain null values, even if it cannot be set to a null value.
BaseCatalogNameBaseCatalogName Nome del catalogo nell'archivio dati contenente la colonna.The name of the catalog in the data store that contains the column. NULL se non è possibile determinare il nome del catalogo di base.NULL if the base catalog name cannot be determined. Il valore predefinito di questa colonna è un valore null.The default of this column is a null value.
BaseColumnNameBaseColumnName Nome della colonna nell'archivio dati.The name of the column in the data store. Potrebbe essere diverso dal nome della colonna restituito nella colonna ColumnName se è stato utilizzato un alias.This might be different than the column name returned in the ColumnName column if an alias was used. 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.A null value if the base column name cannot be determined or if the rowset column is derived, but not identical to, a column in the data store. Il valore predefinito di questa colonna è un valore null.The default of this column is a null value.
BaseSchemaNameBaseSchemaName Nome dello schema nell'archivio dati contenente la colonna.The name of the schema in the data store that contains the column. Valore Null se il nome dello schema di base non può essere determinato.A null value if the base schema name cannot be determined. Il valore predefinito di questa colonna è un valore null.The default of this column is a null value.
BaseServerNameBaseServerName Nome dell'istanza di Microsoft SQL Server utilizzata dall'SqlDataReader.The name of the instance of Microsoft SQL Server used by the SqlDataReader.
BaseTableNameBaseTableName Nome della tabella o vista nell'archivio dati contenente la colonna.The name of the table or view in the data store that contains the column. Valore Null se il nome della tabella di base non può essere determinato.A null value if the base table name cannot be determined. Il valore predefinito di questa colonna è un valore null.The default of this column is a null value.
ColumnNameColumnName Nome della colonna. Questa operazione potrebbe non essere univoca.The name of the column; this might not be unique. Se non può essere determinata, viene restituito un valore Null.If this cannot be determined, a null value is returned. Questo nome riflette sempre la ridenominazione più recente della colonna nella vista o nel testo del comando corrente.This name always reflects the most recent renaming of the column in the current view or command text.
ColumnOrdinalColumnOrdinal Ordinale in base zero della colonna.The zero-based ordinal of the column. Questa colonna non può contenere un valore Null.This column cannot contain a null value.
ColumnSizeColumnSize Lunghezza massima possibile di un valore nella colonna.The maximum possible length of a value in the column. Per le colonne che utilizzano un tipo di dati a lunghezza fissa, corrisponde alla dimensione del tipo di dati.For columns that use a fixed-length data type, this is the size of the data type. Per le colonne nvarchar(MAX), varchar(MAX)e varbinary(MAX) archiviate in un database di SQL Server, la dimensione massima è 2 GB.For nvarchar(MAX), varchar(MAX), and varbinary(MAX) columns stored in a SQL Server database, the maximum size is 2GB. Se queste colonne vengono archiviate e accessibili come file, il limite per le dimensioni massime viene imposto dal file system.If these columns are stored and accessed as files, the limit on maximum size is imposed by the file system. Questo valore cambia quando si usa la parola chiave Type System Version nella stringa di connessione.This value changes when using the Type System Version keyword in the connection string. Per i nuovi tipi sono rappresentati come tipi di livello inferiore.For new types they are represented as downlevel types. I tipi di dati MAX restituiscono il normale 4K per nvarchar e 8000 per varchar.The MAX data types return the normal 4k for nvarchar and 8000 for varchar. Per ulteriori informazioni, vedere la Guida di riferimento a Transact-SQL.For more information, see the Transact-SQL reference.
DataTypeNameDataTypeName Restituisce una stringa che rappresenta il tipo di dati della colonna specificata.Returns a string representing the data type of the specified column.
IsAliasedIsAliased true: il nome della colonna è un alias.true: The column name is an alias.

false: il nome della colonna non è un alias.false: The column name is not an alias.
IsAutoIncrementIsAutoIncrement true: la colonna assegna i valori alle nuove righe con incrementi fissi.true: The column assigns values to new rows in fixed increments.

false: la colonna non assegna valori a nuove righe con incrementi fissi.false: The column does not assign values to new rows in fixed increments. Il valore predefinito di questa colonna è false.The default of this column is false.
IsColumnSetIsColumnSet true: la colonna è una colonna di tipo sparse che è membro di un set di colonne.true: The column is a sparse column that is a member of a column set.
IsExpressionIsExpression true: la colonna è un'espressione.true: The column is an expression.

false: la colonna non è un'espressione.false: The column is not an expression.
IsHiddenIsHidden true: la colonna è nascosta.true: The column is hidden.

false: la colonna non è nascosta.false: The column is not hidden.
IsIdentityIsIdentity true: la colonna è una colonna Identity.true: The column is an identity column.

false: la colonna non è una colonna Identity.false: The column is not an identity column.
IsKeyIsKey true: la colonna è un set di colonne nel set di righe che, insieme, identifica in modo univoco la riga.true: The column is one of a set of columns in the rowset that, taken together, uniquely identify the row. Il set di colonne con IsKey impostato su true deve identificare in modo univoco una riga nel set di righe.The set of columns with IsKey set to true must uniquely identify a row in the rowset. Non è necessario che questo set di colonne sia un set minimo di colonne.There is no requirement that this set of columns is a minimal set of columns. Questo set di colonne può essere generato da una chiave primaria della tabella di base, un vincolo UNIQUE o un indice univoco.This set of columns may be generated from a base table primary key, a unique constraint or a unique index.

false: la colonna non è necessaria per identificare in modo univoco la riga.false: The column is not required to uniquely identify the row.
IsLongIsLong true: la colonna contiene un oggetto binario lungo (BLOB) contenente dati molto lunghi.true: The column contains a Binary Long Object (BLOB) that contains very long data. La definizione di dati molto lunghi è specifica del provider.The definition of very long data is provider-specific.

false: la colonna non contiene un oggetto binario lungo (BLOB) contenente dati molto lunghi.false: The column does not contain a Binary Long Object (BLOB) that contains very long data.
IsReadOnlyIsReadOnly true: non è possibile modificare la colonna.true: The column cannot be modified.

false: la colonna può essere modificata.false: The column can be modified.
IsRowVersionIsRowVersion true: la colonna contiene un identificatore di riga persistente in cui non è possibile scrivere e che non dispone di un valore significativo tranne che per l'identità della riga.true: The column contains a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.

false: la colonna non contiene un identificatore di riga persistente in cui non è possibile scrivere e che non dispone di un valore significativo tranne che per l'identità della riga.false: The column does not contain a persistent row identifier that cannot be written to, and has no meaningful value except to identity the row.
IsUniqueIsUnique true: la colonna è di tipo timestamp.true: Column is of type timestamp.

false: la colonna non è di tipo timestamp.false: Column is not of type timestamp.
NonVersionedProviderTypeNonVersionedProviderType Tipo della colonna indipendentemente dall'Type System Version corrente specificato nella stringa di connessione.The type of the column irrespective of the current Type System Version specified in the connection string. Il valore restituito è dall'enumerazione SqlDbType.The returned value is from the SqlDbType enumeration.
NumericPrecisionNumericPrecision Se ProviderType è un tipo di dati numerico, si tratta della precisione massima della colonna.If ProviderType is a numeric data type, this is the maximum precision of the column. La precisione dipende dalla definizione della colonna.The precision depends on the definition of the column. Se ProviderType non è un tipo di dati numerico, questo valore è 255.If ProviderType is not a numeric data type, this is 255.
NumericScaleNumericScale Se ProviderType è DBTYPE_DECIMAL o DBTYPE_NUMERIC, il numero di cifre a destra della virgola decimale.If ProviderType is DBTYPE_DECIMAL or DBTYPE_NUMERIC, the number of digits to the right of the decimal point. In caso contrario, è 255.Otherwise, this is 255.
ProviderSpecificDataTypeProviderSpecificDataType Restituisce il tipo di dati specifico del provider della colonna in base alla parola chiave Type System Version nella stringa di connessione.Returns the provider-specific data type of the column based on the Type System Version keyword in the connection string.
ProviderTypeProviderType Indicatore del tipo di dati della colonna.The indicator of the column's data type. Se il tipo di dati della colonna varia da riga a riga, deve essere un oggetto.If the data type of the column varies from row to row, this must be Object. Questa colonna non può contenere un valore Null.This column cannot contain a null value.
UdtAssemblyQualifiedNameUdtAssemblyQualifiedName Se la colonna è un tipo definito dall'utente (UDT), questo è il nome completo dell'assembly del tipo definito dall'utente come per AssemblyQualifiedName.If the column is a user-defined type (UDT), this is the qualified name of the UDT's assembly as per AssemblyQualifiedName. Se la colonna non è un tipo definito dall'utente, questo valore è null.If the column is not a UDT, this is null.
XmlSchemaCollectionDatabaseXmlSchemaCollectionDatabase Nome del database in cui si trova la raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML.The name of the database where the schema collection for this XML instance is located, if the row contains information about an XML column. Questo valore è null (Nothing in Visual Basic) se la raccolta è definita all'interno del database corrente.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. È anche null se non è presente alcuna raccolta di schemi, nel qual caso anche le colonne XmlSchemaCollectionName e XmlSchemaCollectionOwningSchema sono null.It is also null if there is no schema collection, in which case the XmlSchemaCollectionName and XmlSchemaCollectionOwningSchema columns are also null.
XmlSchemaCollectionNameXmlSchemaCollectionName Nome della raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML.The name of the schema collection for this XML instance, if the row contains information about an XML column. Questo valore è null (Nothing in Visual Basic) se non è presente alcuna raccolta di schemi associata.This value is null (Nothing in Visual Basic) if there is no associated schema collection. Se il valore è null, anche le colonne XmlSchemaCollectionDatabase e XmlSchemaCollectionOwningSchema sono null.If the value is null, the XmlSchemaCollectionDatabase and XmlSchemaCollectionOwningSchema columns are also null.
XmlSchemaCollectionOwningSchemaXmlSchemaCollectionOwningSchema Schema relazionale proprietario in cui si trova la raccolta di schemi per questa istanza XML, se la riga contiene informazioni su una colonna XML.The owning relational schema where the schema collection for this XML instance is located, if the row contains information about an XML column. Questo valore è null (Nothing in Visual Basic) se la raccolta è definita all'interno del database corrente.This value is null (Nothing in Visual Basic) if the collection is defined within the current database. È anche null se non è presente alcuna raccolta di schemi, nel qual caso anche le colonne XmlSchemaCollectionDatabase e XmlSchemaCollectionName sono null.It is also null if there is no schema collection, in which case the XmlSchemaCollectionDatabase and XmlSchemaCollectionName columns are also null.

Nota

Per assicurarsi che le colonne di metadati restituiscano le informazioni corrette, è necessario chiamare ExecuteReader con il parametro behavior impostato su KeyInfo.To make sure that metadata columns return the correct information, you must call ExecuteReader with the behavior parameter set to KeyInfo. In caso contrario, è possibile che alcune colonne della tabella dello schema restituiscano dati predefiniti, null o errati.Otherwise, some of the columns in the schema table may return default, null, or incorrect data.

Si applica a

Vedi anche