Classe DataTable (System.Data)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe DataTable
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Rappresenta una tabella di dati in memoria.

Gerarchia di ereditarietà

System.Object
  System.ComponentModel.MarshalByValueComponent
    System.Data.DataTable
      System.Data.TypedTableBase<T>

Spazio dei nomi:  System.Data
Assembly:  System.Data (in System.Data.dll)
Sintassi

Visual Basic
<SerializableAttribute> _
Public Class DataTable _
	Inherits MarshalByValueComponent _
	Implements IListSource, ISupportInitializeNotification, ISupportInitialize, ISerializable,  _
	IXmlSerializable
C#
[SerializableAttribute]
public class DataTable : MarshalByValueComponent, IListSource, 
	ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable
Visual C++
[SerializableAttribute]
public ref class DataTable : public MarshalByValueComponent, 
	IListSource, ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable
F#
[<SerializableAttribute>]
type DataTable =  
    class
        inherit MarshalByValueComponent
        interface IListSource
        interface ISupportInitializeNotification
        interface ISupportInitialize
        interface ISerializable
        interface IXmlSerializable
    end

Il tipo DataTable espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico Supportato da XNA Framework DataTable() Inizializza una nuova istanza della classe DataTable senza argomenti.
Metodo pubblico Supportato da XNA Framework DataTable(String) Inizializza una nuova istanza della classe DataTable con il nome della tabella specificato.
Metodo protetto DataTable(SerializationInfo, StreamingContext) Inizializza una nuova istanza della classe DataTable con gli oggetti SerializationInfo e StreamingContext.
Metodo pubblico Supportato da XNA Framework DataTable(String, String) Inizializza una nuova istanza della classe DataTable con il nome della tabella e lo spazio dei nomi specificati.
In alto
Proprietà

  Nome Descrizione
Proprietà pubblica Supportato da XNA Framework CaseSensitive Indica se i confronti tra stringhe all'interno della tabella prendono in considerazione la distinzione tra maiuscole e minuscole.
Proprietà pubblica Supportato da XNA Framework ChildRelations Ottiene l'insieme di relazioni figlio per l'oggetto DataTable.
Proprietà pubblica Supportato da XNA Framework Columns Ottiene l'insieme di colonne che appartengono a questa tabella.
Proprietà pubblica Supportato da XNA Framework Constraints Ottiene l'insieme di vincoli mantenuti da questa tabella.
Proprietà pubblica Supportato da XNA Framework Container Ottiene il contenitore del componente. (Ereditato da MarshalByValueComponent)
Proprietà pubblica Supportato da XNA Framework DataSet Ottiene la classe DataSet a cui la tabella appartiene.
Proprietà pubblica Supportato da XNA Framework DefaultView Ottiene una visualizzazione personalizzata della tabella che può comprendere una visualizzazione filtrata o la posizione del cursore.
Proprietà pubblica Supportato da XNA Framework DesignMode Ottiene un valore che indica se il componente è in modalità progettazione. (Ereditato da MarshalByValueComponent)
Proprietà pubblica Supportato da XNA Framework DisplayExpression Ottiene o imposta l'espressione che restituisce un valore utilizzato per rappresentare questa tabella nell'interfaccia utente. La proprietà DisplayExpression consente di visualizzare il nome di questa tabella in un'interfaccia utente.
Proprietà protetta. Supportato da XNA Framework Events Ottiene l'elenco dei gestori eventi allegati a questo componente. (Ereditato da MarshalByValueComponent)
Proprietà pubblica Supportato da XNA Framework ExtendedProperties Ottiene l'insieme di informazioni utente personalizzate.
Proprietà pubblica Supportato da XNA Framework HasErrors Ottiene un valore che indica se sono presenti errori nelle righe delle tabelle dell'oggetto DataSet al quale la tabella appartiene.
Proprietà pubblica Supportato da XNA Framework IsInitialized Ottiene un valore che indica se la classe DataTable è inizializzata.
Proprietà pubblica Supportato da XNA Framework Locale Ottiene o imposta le informazioni sulle impostazioni locali utilizzate per confrontare stringhe all'interno della tabella.
Proprietà pubblica Supportato da XNA Framework MinimumCapacity Ottiene o imposta la dimensione iniziale di questa tabella.
Proprietà pubblica Supportato da XNA Framework Namespace Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.
Proprietà pubblica Supportato da XNA Framework ParentRelations Ottiene l'insieme di relazioni padre dell'oggetto DataTable.
Proprietà pubblica Supportato da XNA Framework Prefix Ottiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.
Proprietà pubblica Supportato da XNA Framework PrimaryKey Ottiene o imposta una matrice di colonne che agiscono da chiavi primarie della tabella di dati.
Proprietà pubblica RemotingFormat Ottiene o imposta il formato di serializzazione.
Proprietà pubblica Supportato da XNA Framework Rows Ottiene l'insieme di righe che appartengono a questa tabella.
Proprietà pubblica Supportato da XNA Framework Site Ottiene o imposta un'interfaccia System.ComponentModel.ISite per la classe DataTable. (Esegue l'override di MarshalByValueComponent.Site).
Proprietà pubblica Supportato da XNA Framework TableName Ottiene o imposta il nome della classe DataTable.
In alto
Metodi

  Nome Descrizione
Metodo pubblico Supportato da XNA Framework AcceptChanges Convalida tutte le modifiche apportate a questa tabella sin dall'ultima chiamata al metodo AcceptChanges.
Metodo pubblico Supportato da XNA Framework BeginInit Avvia l'inizializzazione di una classe DataTable utilizzata su un form o da un altro componente. L'inizializzazione avviene in fase di esecuzione.
Metodo pubblico Supportato da XNA Framework BeginLoadData Disattiva le notifiche, la manutenzione degli indici e i vincoli durante il caricamento dei dati.
Metodo pubblico Supportato da XNA Framework Clear Cancella tutti i dati dell'oggetto DataTable.
Metodo pubblico Supportato da XNA Framework Clone Duplica la struttura dell'oggetto DataTable, tra cui tutti gli schemi e i vincoli dell'oggetto DataTable.
Metodo pubblico Supportato da XNA Framework Compute Calcola l'espressione specificata sulle righe correnti che soddisfano i criteri di filtro.
Metodo pubblico Supportato da XNA Framework Copy Copia la struttura e i dati per questa classe DataTable.
Metodo pubblico Supportato da XNA Framework CreateDataReader Restituisce una classe DataTableReader corrispondente ai dati all'interno di questa classe DataTable.
Metodo protetto Supportato da XNA Framework CreateInstance Infrastruttura. Crea una nuova istanza di DataTable.
Metodo pubblico Supportato da XNA Framework Dispose() Libera tutte le risorse utilizzate da MarshalByValueComponent. (Ereditato da MarshalByValueComponent)
Metodo protetto Supportato da XNA Framework Dispose(Boolean) Rilascia le risorse non gestite utilizzate dall'oggetto MarshalByValueComponent ed eventualmente rilascia le risorse gestite. (Ereditato da MarshalByValueComponent)
Metodo pubblico Supportato da XNA Framework EndInit Termina l'inizializzazione di un oggetto DataTable utilizzato in un modulo o da un altro componente. L'inizializzazione avviene in fase di esecuzione.
Metodo pubblico Supportato da XNA Framework EndLoadData Attiva le notifiche, la manutenzione degli indici e i vincoli dopo il caricamento dei dati.
Metodo pubblico Supportato da XNA Framework Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Supportato da XNA Framework Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da MarshalByValueComponent)
Metodo pubblico Supportato da XNA Framework GetChanges() Ottiene una copia della classe DataTable contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges.
Metodo pubblico Supportato da XNA Framework GetChanges(DataRowState) Ottiene una copia della classe DataTable contenente tutte le modifiche apportate a essa dal momento in cui è stata caricata o dall'ultima chiamata al metodo AcceptChanges, filtrata dall'enumerazione DataRowState.
Metodo pubblico Membro statico Supportato da XNA Framework GetDataTableSchema Questo metodo restituisce un'istanza XmlSchemaSet contenente il linguaggio WDSL (Web Services Description Language) che descrive la classe DataTable per i servizi Web.
Metodo pubblico Supportato da XNA Framework GetErrors Ottiene una matrice di oggetti DataRow che contengono errori.
Metodo pubblico Supportato da XNA Framework GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetObjectData Popola un oggetto delle informazioni di serializzazione coi dati richiesti per serializzare DataTable.
Metodo protetto Supportato da XNA Framework GetRowType Infrastruttura. Ottiene il tipo della riga.
Metodo protetto Supportato da XNA Framework GetSchema Infrastruttura. Per una descrizione di questo membro, vedere IXmlSerializable.GetSchema.
Metodo pubblico Supportato da XNA Framework GetService Ottiene l'implementatore dell'interfaccia IServiceProvider. (Ereditato da MarshalByValueComponent)
Metodo pubblico Supportato da XNA Framework GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico Supportato da XNA Framework ImportRow Copia un oggetto DataRow in un oggetto DataTable, conservando sia le impostazioni delle proprietà sia i valori originali e correnti.
Metodo pubblico Supportato da XNA Framework Load(IDataReader) Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita. Se DataTable contiene già righe, i dati in arrivo dall'origine dati vengono uniti alle righe esistenti.
Metodo pubblico Supportato da XNA Framework Load(IDataReader, LoadOption) Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita. Se DataTable contiene già righe, i dati in arrivo dall'origine dati vengono uniti alle righe esistenti, in base al valore del parametro loadOption.
Metodo pubblico Supportato da XNA Framework Load(IDataReader, LoadOption, FillErrorEventHandler) Riempie una classe DataTable con valori di un'origine dati utilizzando l'interfaccia IDataReader fornita, tramite un delegato di gestione degli errori.
Metodo pubblico Supportato da XNA Framework LoadDataRow(Object[], Boolean) Rileva e aggiorna una riga specifica. Se non viene trovata una riga corrispondente, viene creata una nuova riga utilizzando i valori dati.
Metodo pubblico Supportato da XNA Framework LoadDataRow(Object[], LoadOption) Rileva e aggiorna una riga specifica. Se non viene trovata una riga corrispondente, viene creata una nuova riga utilizzando i valori dati.
Metodo protetto Supportato da XNA Framework MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico Supportato da XNA Framework Merge(DataTable) Unire la classe DataTable specificata alla classe DataTable corrente.
Metodo pubblico Supportato da XNA Framework Merge(DataTable, Boolean) Unire la classe DataTable specificata alla classe DataTable corrente, indicando se conservare le modifiche nella classe DataTable corrente.
Metodo pubblico Supportato da XNA Framework Merge(DataTable, Boolean, MissingSchemaAction) Unire la classe DataTable specificata alla classe DataTable corrente, indicando se conservare le modifiche e come gestire lo schema mancante nella classe DataTable corrente.
Metodo pubblico Supportato da XNA Framework NewRow Crea un nuovo oggetto DataRow con lo stesso schema della tabella.
Metodo protetto Supportato da XNA Framework NewRowArray Infrastruttura. Restituisce una matrice di DataRow.
Metodo protetto Supportato da XNA Framework NewRowFromBuilder Crea una nuova riga da una riga esistente.
Metodo protetto Supportato da XNA Framework OnColumnChanged Genera l'evento ColumnChanged.
Metodo protetto Supportato da XNA Framework OnColumnChanging Genera l'evento ColumnChanging.
Metodo protetto Supportato da XNA Framework OnPropertyChanging Genera l'evento PropertyChanged.
Metodo protetto OnRemoveColumn Notifica all'oggetto DataTable che è in corso l'eliminazione di un oggetto DataColumn.
Metodo protetto Supportato da XNA Framework OnRowChanged Genera l'evento RowChanged.
Metodo protetto Supportato da XNA Framework OnRowChanging Genera l'evento RowChanging.
Metodo protetto Supportato da XNA Framework OnRowDeleted Genera l'evento RowDeleted.
Metodo protetto Supportato da XNA Framework OnRowDeleting Genera l'evento RowDeleting.
Metodo protetto Supportato da XNA Framework OnTableCleared Genera l'evento TableCleared.
Metodo protetto Supportato da XNA Framework OnTableClearing Genera l'evento TableClearing.
Metodo protetto Supportato da XNA Framework OnTableNewRow Genera l'evento TableNewRow.
Metodo pubblico Supportato da XNA Framework ReadXml(Stream) Legge i dati e lo schema XML nella classe DataTable utilizzando la classe Stream specificata.
Metodo pubblico Supportato da XNA Framework ReadXml(String) Legge i dati e lo schema XML nella classe DataTable dal file specificato.
Metodo pubblico Supportato da XNA Framework ReadXml(TextReader) Legge dati e XML Schema nell'oggetto DataTable utilizzando l'oggetto TextReader specificato.
Metodo pubblico Supportato da XNA Framework ReadXml(XmlReader) Legge i dati e lo schema XML nell'oggetto DataTable utilizzando l'oggetto XmlReader specificato.
Metodo pubblico Supportato da XNA Framework ReadXmlSchema(Stream) Legge uno schema XML nella classe DataTable, utilizzando il flusso specificato.
Metodo pubblico Supportato da XNA Framework ReadXmlSchema(String) Legge uno schema XML nella classe DataTable dal file specificato.
Metodo pubblico Supportato da XNA Framework ReadXmlSchema(TextReader) Legge uno schema XML nella classe DataTable, utilizzando la classe TextReader specificata.
Metodo pubblico Supportato da XNA Framework ReadXmlSchema(XmlReader) Legge uno schema XML nella classe DataTable, utilizzando la classe XmlReader specificata.
Metodo protetto Supportato da XNA Framework ReadXmlSerializable Infrastruttura. Legge da un flusso XML.
Metodo pubblico Supportato da XNA Framework RejectChanges Annulla tutte le modifiche apportate alla tabella dal momento in cui è stata caricata oppure dall'ultima volta in cui è stato chiamato il metodo AcceptChanges.
Metodo pubblico Supportato da XNA Framework Reset Ripristina lo stato originale della classe DataTable.
Metodo pubblico Supportato da XNA Framework Select() Ottiene una matrice di tutti gli oggetti DataRow.
Metodo pubblico Supportato da XNA Framework Select(String) Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro.
Metodo pubblico Supportato da XNA Framework Select(String, String) Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro, in base al criterio di ordinamento specificato.
Metodo pubblico Supportato da XNA Framework Select(String, String, DataViewRowState) Ottiene una matrice di tutti gli oggetti DataRow che corrispondono al filtro in base all'ordinamento specificato e che corrispondono allo stato specificato.
Metodo pubblico Supportato da XNA Framework ToString Ottiene le proprietà TableName e DisplayExpression se ne esiste una come stringa concatenata. (Esegue l'override di MarshalByValueComponent.ToString()).
Metodo pubblico Supportato da XNA Framework WriteXml(Stream) Scrive i contenuti correnti della classe DataTable come XML tramite la classe Stream specificata.
Metodo pubblico Supportato da XNA Framework WriteXml(String) Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.
Metodo pubblico Supportato da XNA Framework WriteXml(TextWriter) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto TextWriter specificato.
Metodo pubblico Supportato da XNA Framework WriteXml(XmlWriter) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblico Supportato da XNA Framework WriteXml(Stream, Boolean) Scrive i contenuti correnti della classe DataTable come XML tramite la classe Stream specificata. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(Stream, XmlWriteMode) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.
Metodo pubblico Supportato da XNA Framework WriteXml(String, Boolean) Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(String, XmlWriteMode) Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.
Metodo pubblico Supportato da XNA Framework WriteXml(TextWriter, Boolean) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto TextWriter specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(TextWriter, XmlWriteMode) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.
Metodo pubblico Supportato da XNA Framework WriteXml(XmlWriter, Boolean) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblico Supportato da XNA Framework WriteXml(XmlWriter, XmlWriteMode) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.
Metodo pubblico Supportato da XNA Framework WriteXml(Stream, XmlWriteMode, Boolean) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(String, XmlWriteMode, Boolean) Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(TextWriter, XmlWriteMode, Boolean) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXml(XmlWriter, XmlWriteMode, Boolean) Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(Stream) Scrive la struttura dei dati correnti della classe DataTable come schema XML nel flusso specificato.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(String) Scrive la struttura dei dati correnti della classe DataTable come schema XML nel file specificato.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(TextWriter) Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe TextWriter specificata.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(XmlWriter) Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe XmlWriter specificata.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(Stream, Boolean) Scrive la struttura dei dati correnti della classe DataTable come schema XML nel flusso specificato. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(String, Boolean) Scrive la struttura dei dati correnti della classe DataTable come schema XML nel file specificato. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(TextWriter, Boolean) Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe TextWriter specificata. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico Supportato da XNA Framework WriteXmlSchema(XmlWriter, Boolean) Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe XmlWriter specificata. Per salvare lo schema per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
In alto
Eventi

  Nome Descrizione
Evento pubblico Supportato da XNA Framework ColumnChanged Viene generato una volta modificato il valore per l'oggetto DataColumn specificato in un oggetto DataRow.
Evento pubblico Supportato da XNA Framework ColumnChanging Viene generato quando è in corso la modifica di un valore per l'oggetto DataColumn specificato in un oggetto DataRow.
Evento pubblico Supportato da XNA Framework Disposed Aggiunge un gestore eventi per restare in attesa dell'evento Disposed sul componente. (Ereditato da MarshalByValueComponent)
Evento pubblico Supportato da XNA Framework Initialized Si verifica dopo l'inizializzazione dell'oggetto DataTable.
Evento pubblico Supportato da XNA Framework RowChanged Viene generato una volta che è stata modificata correttamente una classe DataRow.
Evento pubblico Supportato da XNA Framework RowChanging Viene generato durante la modifica di un oggetto DataRow.
Evento pubblico Supportato da XNA Framework RowDeleted Viene generato dopo l'eliminazione di una riga nella tabella.
Evento pubblico Supportato da XNA Framework RowDeleting Viene generato prima dell'eliminazione di una riga nella tabella.
Evento pubblico Supportato da XNA Framework TableCleared Si verifica dopo che un oggetto DataTable viene cancellato.
Evento pubblico Supportato da XNA Framework TableClearing Si verifica se un oggetto DataTable viene cancellato.
Evento pubblico Supportato da XNA Framework TableNewRow Si verifica quando viene inserito un nuovo oggetto DataRow.
In alto
Metodi di estensione

  Nome Descrizione
Metodo di estensione pubblico AsDataView Crea e restituisce un oggetto DataView che supporta LINQ. (Definito da DataTableExtensions).
Metodo di estensione pubblico AsEnumerable Restituisce un oggetto IEnumerable<T>, in cui il parametro generico T è DataRow. Questo oggetto può essere utilizzato in una query di metodo o espressione LINQ. (Definito da DataTableExtensions).
In alto
Campi

  Nome Descrizione
Campo protetto Supportato da XNA Framework fInitInProgress Infrastruttura. Controlla se l'inizializzazione è in corso. L'inizializzazione avviene in fase di esecuzione.
In alto
Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfaccia Proprietà privata Supportato da XNA Framework IListSource.ContainsListCollection Per una descrizione di questo membro, vedere IListSource.ContainsListCollection.
Implementazione esplicita dell'interfaccia Metodo privato Supportato da XNA Framework IListSource.GetList Per una descrizione di questo membro, vedere IListSource.GetList.
Implementazione esplicita dell'interfaccia Metodo privato Supportato da XNA Framework IXmlSerializable.GetSchema Per una descrizione di questo membro, vedere il metodo IXmlSerializable.GetSchema.
Implementazione esplicita dell'interfaccia Metodo privato Supportato da XNA Framework IXmlSerializable.ReadXml Per una descrizione di questo membro, vedere IXmlSerializable.ReadXml.
Implementazione esplicita dell'interfaccia Metodo privato Supportato da XNA Framework IXmlSerializable.WriteXml Per una descrizione di questo membro, vedere IXmlSerializable.WriteXml.
In alto
Note

DataTable rappresenta un oggetto fondamentale nella libreria di ADO.NET. Tra gli altri oggetti che utilizzano DataTable sono inclusi l'oggetto DataSet e l'oggetto DataView.

Quando si accede agli oggetti DataTable, è opportuno ricordare che tali oggetti prevedono la distinzione tra maiuscole e minuscole in modo condizionale. Se ad esempio un oggetto DataTable viene denominato "mydatatable" e un altro viene denominato "Mydatatable", alla stringa utilizzata per eseguire la ricerca di una delle tabelle verrà applicata la distinzione tra maiuscole e minuscole. Se tuttavia esiste soltanto "mydatatable" e non "Mydatatable", alla stringa di ricerca non verrà applicata alcuna distinzione tra maiuscole e minuscole. Una classe DataSet è in grado di contenere due oggetti DataTable con lo stesso valore della proprietà TableName, ma con valori diversi per quanto riguarda la proprietà Namespace. Per ulteriori informazioni sull'utilizzo degli oggetti DataTable, vedere Creazione di una DataTable (ADO.NET).

Se si crea un oggetto DataTable a livello di codice, sarà necessario definirne dapprima lo schema aggiungendo oggetti DataColumn all'insieme DataColumnCollection (a cui si accede tramite la proprietà Columns). Per ulteriori informazioni sull'aggiunta di oggetti DataColumn, vedere Aggiunta di colonne a un DataTable (ADO.NET).

Per aggiungere righe a un oggetto DataTable, è necessario utilizzare innanzitutto il metodo NewRow per restituire un nuovo oggetto DataRow. Il metodo NewRow restituisce una riga con lo schema dell'oggetto DataTable, come definito dall'insieme DataColumnCollection della tabella. Il numero massimo di righe che è possibile archiviare in una classe DataTable è 16.777.216. Per ulteriori informazioni, vedere Aggiunta di dati a una DataTable.

L'oggetto DataTable contiene inoltre un insieme di oggetti Constraint che possono essere utilizzati per garantire l'integrità dei dati. Per ulteriori informazioni, vedere Vincoli di DataTable (ADO.NET).

Sono disponibili numerosi eventi DataTable utilizzabili per determinare quando vengono apportate modifiche a una tabella. tra cui RowChanged, RowChanging, RowDeleting e RowDeleted. Per ulteriori informazioni sugli eventi utilizzabili con una classe DataTable, vedere Gestione degli eventi di DataTable (ADO.NET).

Quando viene creata un'istanza di DataTable, alcune proprietà di lettura/scrittura vengono impostate sui valori iniziali. Per un elenco di questi valori, vedere l'argomento sul costruttore DataTable.DataTable.

Nota Nota

Gli oggetti DataSet e DataTable ereditano dalla classe MarshalByValueComponent e supportano l'interfaccia ISerializable per l'esecuzione in remoto di .NET Framework. Si tratta degli unici oggetti ADO.NET che possono essere utilizzati per l'esecuzione in remoto di .NET Framework.

Esempi

Nell'esempio seguente vengono creati due oggetti DataTable e un oggetto DataRelation, quindi i nuovi oggetti vengono aggiunti a un oggetto DataSet. Le tabelle vengono quindi visualizzate in un controllo DataGridView.

Visual Basic

' Put the next line into the Declarations section.
private dataSet As DataSet 

Private Sub MakeDataTables()
    ' Run all of the functions. 
    MakeParentTable()
    MakeChildTable()
    MakeDataRelation()
    BindToDataGrid()
End Sub

Private Sub MakeParentTable()
    ' Create a new DataTable.
    Dim table As DataTable = new DataTable("ParentTable")

    ' Declare variables for DataColumn and DataRow objects.
    Dim column As DataColumn 
    Dim row As DataRow 

    ' Create new DataColumn, set DataType, ColumnName 
    ' and add to DataTable.    
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.Int32")
    column.ColumnName = "id"
    column.ReadOnly = True
    column.Unique = True

    ' Add the Column to the DataColumnCollection.
    table.Columns.Add(column)

    ' Create second column.
    column = New DataColumn()
    column.DataType = System.Type.GetType("System.String")
    column.ColumnName = "ParentItem"
    column.AutoIncrement = False
    column.Caption = "ParentItem"
    column.ReadOnly = False
    column.Unique = False

    ' Add the column to the table.
    table.Columns.Add(column)

    ' Make the ID column the primary key column.
    Dim PrimaryKeyColumns(0) As DataColumn
    PrimaryKeyColumns(0)= table.Columns("id")
    table.PrimaryKey = PrimaryKeyColumns

    ' Instantiate the DataSet variable.
    dataSet = New DataSet()

    ' Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table)

    ' Create three new DataRow objects and add 
    ' them to the DataTable
    Dim i As Integer
    For i = 0 to 2
       row = table.NewRow()
       row("id") = i
       row("ParentItem") = "ParentItem " + i.ToString()
       table.Rows.Add(row)
    Next i
End Sub

Private Sub MakeChildTable()
    ' Create a new DataTable.
    Dim table As DataTable = New DataTable("childTable")
    Dim column As DataColumn 
    Dim row As DataRow 

    ' Create first column and add to the DataTable.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ChildID"
    column.AutoIncrement = True
    column.Caption = "ID"
    column.ReadOnly = True
    column.Unique = True

    ' Add the column to the DataColumnCollection.
    table.Columns.Add(column)

    ' Create second column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.String")
    column.ColumnName = "ChildItem"
    column.AutoIncrement = False
    column.Caption = "ChildItem"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)

    ' Create third column.
    column = New DataColumn()
    column.DataType= System.Type.GetType("System.Int32")
    column.ColumnName = "ParentID"
    column.AutoIncrement = False
    column.Caption = "ParentID"
    column.ReadOnly = False
    column.Unique = False
    table.Columns.Add(column)

    dataSet.Tables.Add(table)

    ' Create three sets of DataRow objects, five rows each, 
    ' and add to DataTable.
    Dim i As Integer
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 0 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 5
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 1 
       table.Rows.Add(row)
    Next i
    For i = 0 to 4
       row = table.NewRow()
       row("childID") = i + 10
       row("ChildItem") = "Item " + i.ToString()
       row("ParentID") = 2 
       table.Rows.Add(row)
    Next i
End Sub

Private Sub MakeDataRelation()
    ' DataRelation requires two DataColumn 
    ' (parent and child) and a name.
    Dim parentColumn As DataColumn = _
        dataSet.Tables("ParentTable").Columns("id")
    Dim childColumn As DataColumn = _
        dataSet.Tables("ChildTable").Columns("ParentID")
    Dim relation As DataRelation = new _
        DataRelation("parent2Child", parentColumn, childColumn)
    dataSet.Tables("ChildTable").ParentRelations.Add(relation)
End Sub

Private Sub BindToDataGrid()
    ' Instruct the DataGrid to bind to the DataSet, with the 
    ' ParentTable as the topmost DataTable.
    DataGrid1.SetDataBinding(dataSet,"ParentTable")
End Sub
 


C#

// Put the next line into the Declarations section.
private System.Data.DataSet dataSet;

private void MakeDataTables()
{
    // Run all of the functions. 
    MakeParentTable();
    MakeChildTable();
    MakeDataRelation();
    BindToDataGrid();
}

private void MakeParentTable()
{
    // Create a new DataTable.
    System.Data.DataTable table = new DataTable("ParentTable");
    // Declare variables for DataColumn and DataRow objects.
    DataColumn column;
    DataRow row;

    // Create new DataColumn, set DataType, 
    // ColumnName and add to DataTable.    
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.ColumnName = "id";
    column.ReadOnly = true;
    column.Unique = true;
    // Add the Column to the DataColumnCollection.
    table.Columns.Add(column);

    // Create second column.
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName = "ParentItem";
    column.AutoIncrement = false;
    column.Caption = "ParentItem";
    column.ReadOnly = false;
    column.Unique = false;
    // Add the column to the table.
    table.Columns.Add(column);

    // Make the ID column the primary key column.
    DataColumn[] PrimaryKeyColumns = new DataColumn[1];
    PrimaryKeyColumns[0] = table.Columns["id"];
    table.PrimaryKey = PrimaryKeyColumns;

    // Instantiate the DataSet variable.
    dataSet = new DataSet();
    // Add the new DataTable to the DataSet.
    dataSet.Tables.Add(table);

    // Create three new DataRow objects and add 
    // them to the DataTable
    for (int i = 0; i<= 2; i++)
    {
        row = table.NewRow();
        row["id"] = i;
        row["ParentItem"] = "ParentItem " + i;
        table.Rows.Add(row);
    }
}

private void MakeChildTable()
{
    // Create a new DataTable.
    DataTable table = new DataTable("childTable");
    DataColumn column;
    DataRow row;

    // Create first column and add to the DataTable.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ChildID";
    column.AutoIncrement = true;
    column.Caption = "ID";
    column.ReadOnly = true;
    column.Unique = true;

    // Add the column to the DataColumnCollection.
    table.Columns.Add(column);

    // Create second column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.String");
    column.ColumnName = "ChildItem";
    column.AutoIncrement = false;
    column.Caption = "ChildItem";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);

    // Create third column.
    column = new DataColumn();
    column.DataType= System.Type.GetType("System.Int32");
    column.ColumnName = "ParentID";
    column.AutoIncrement = false;
    column.Caption = "ParentID";
    column.ReadOnly = false;
    column.Unique = false;
    table.Columns.Add(column);

    dataSet.Tables.Add(table);

    // Create three sets of DataRow objects, 
    // five rows each, and add to DataTable.
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 0 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 5;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 1 ;
        table.Rows.Add(row);
    }
    for(int i = 0; i <= 4; i ++)
    {
        row = table.NewRow();
        row["childID"] = i + 10;
        row["ChildItem"] = "Item " + i;
        row["ParentID"] = 2 ;
        table.Rows.Add(row);
    }
}

private void MakeDataRelation()
{
    // DataRelation requires two DataColumn 
    // (parent and child) and a name.
    DataColumn parentColumn = 
        dataSet.Tables["ParentTable"].Columns["id"];
    DataColumn childColumn = 
        dataSet.Tables["ChildTable"].Columns["ParentID"];
    DataRelation relation = new 
        DataRelation("parent2Child", parentColumn, childColumn);
    dataSet.Tables["ChildTable"].ParentRelations.Add(relation);
}

private void BindToDataGrid()
{
    // Instruct the DataGrid to bind to the DataSet, with the 
    // ParentTable as the topmost DataTable.
    dataGrid1.SetDataBinding(dataSet,"ParentTable");
}


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Questo tipo può essere utilizzato nelle operazioni di lettura con multithreading. È necessario sincronizzare tutte le operazioni di scrittura.

Vedere anche

Riferimenti

Altre risorse