Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe DataTable

Rappresenta una tabella di dati in memoria.

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

[SerializableAttribute]
public class DataTable : MarshalByValueComponent, IListSource, 
	ISupportInitializeNotification, ISupportInitialize, ISerializable, IXmlSerializable

Il tipo DataTable espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkDataTable()Inizializza una nuova istanza della classe DataTable senza argomenti.
Metodo pubblicoSupportato da XNA FrameworkDataTable(String)Inizializza una nuova istanza della classe DataTable con il nome della tabella specificato.
Metodo protettoDataTable(SerializationInfo, StreamingContext)Inizializza una nuova istanza della classe DataTable con gli oggetti SerializationInfo e StreamingContext.
Metodo pubblicoSupportato da XNA FrameworkDataTable(String, String)Inizializza una nuova istanza della classe DataTable con il nome della tabella e lo spazio dei nomi specificati.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkCaseSensitiveIndica se i confronti tra stringhe all'interno della tabella prendono in considerazione la distinzione tra maiuscole e minuscole.
Proprietà pubblicaSupportato da XNA FrameworkChildRelationsOttiene l'insieme di relazioni figlio per l'oggetto DataTable.
Proprietà pubblicaSupportato da XNA FrameworkColumnsOttiene l'insieme di colonne che appartengono a questa tabella.
Proprietà pubblicaSupportato da XNA FrameworkConstraintsOttiene l'insieme di vincoli mantenuti da questa tabella.
Proprietà pubblicaSupportato da XNA FrameworkContainerOttiene il contenitore del componente. (Ereditato da MarshalByValueComponent)
Proprietà pubblicaSupportato da XNA FrameworkDataSetOttiene la classe DataSet a cui la tabella appartiene.
Proprietà pubblicaSupportato da XNA FrameworkDefaultViewOttiene una visualizzazione personalizzata della tabella che può comprendere una visualizzazione filtrata o la posizione del cursore.
Proprietà pubblicaSupportato da XNA FrameworkDesignModeOttiene un valore che indica se il componente è in modalità progettazione. (Ereditato da MarshalByValueComponent)
Proprietà pubblicaSupportato da XNA FrameworkDisplayExpressionOttiene 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 FrameworkEventsOttiene l'elenco dei gestori eventi allegati a questo componente. (Ereditato da MarshalByValueComponent)
Proprietà pubblicaSupportato da XNA FrameworkExtendedPropertiesOttiene l'insieme di informazioni utente personalizzate.
Proprietà pubblicaSupportato da XNA FrameworkHasErrorsOttiene un valore che indica se sono presenti errori nelle righe delle tabelle dell'oggetto DataSet al quale la tabella appartiene.
Proprietà pubblicaSupportato da XNA FrameworkIsInitializedOttiene un valore che indica se la classe DataTable è inizializzata.
Proprietà pubblicaSupportato da XNA FrameworkLocaleOttiene o imposta le informazioni sulle impostazioni locali utilizzate per confrontare stringhe all'interno della tabella.
Proprietà pubblicaSupportato da XNA FrameworkMinimumCapacityOttiene o imposta la dimensione iniziale di questa tabella.
Proprietà pubblicaSupportato da XNA FrameworkNamespaceOttiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.
Proprietà pubblicaSupportato da XNA FrameworkParentRelationsOttiene l'insieme di relazioni padre dell'oggetto DataTable.
Proprietà pubblicaSupportato da XNA FrameworkPrefixOttiene o imposta lo spazio dei nomi per la rappresentazione XML dei dati memorizzati nella classe DataTable.
Proprietà pubblicaSupportato da XNA FrameworkPrimaryKeyOttiene o imposta una matrice di colonne che agiscono da chiavi primarie della tabella di dati.
Proprietà pubblicaRemotingFormatOttiene o imposta il formato di serializzazione.
Proprietà pubblicaSupportato da XNA FrameworkRowsOttiene l'insieme di righe che appartengono a questa tabella.
Proprietà pubblicaSupportato da XNA FrameworkSiteOttiene o imposta un'interfaccia System.ComponentModel.ISite per la classe DataTable. (Esegue l'override di MarshalByValueComponent.Site).
Proprietà pubblicaSupportato da XNA FrameworkTableNameOttiene o imposta il nome della classe DataTable.
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkAcceptChangesConvalida tutte le modifiche apportate a questa tabella sin dall'ultima chiamata al metodo AcceptChanges.
Metodo pubblicoSupportato da XNA FrameworkBeginInitAvvia l'inizializzazione di una classe DataTable utilizzata su un form o da un altro componente. L'inizializzazione avviene in fase di esecuzione.
Metodo pubblicoSupportato da XNA FrameworkBeginLoadDataDisattiva le notifiche, la manutenzione degli indici e i vincoli durante il caricamento dei dati.
Metodo pubblicoSupportato da XNA FrameworkClearCancella tutti i dati dell'oggetto DataTable.
Metodo pubblicoSupportato da XNA FrameworkCloneDuplica la struttura dell'oggetto DataTable, tra cui tutti gli schemi e i vincoli dell'oggetto DataTable.
Metodo pubblicoSupportato da XNA FrameworkComputeCalcola l'espressione specificata sulle righe correnti che soddisfano i criteri di filtro.
Metodo pubblicoSupportato da XNA FrameworkCopyCopia la struttura e i dati per questa classe DataTable.
Metodo pubblicoSupportato da XNA FrameworkCreateDataReaderRestituisce una classe DataTableReader corrispondente ai dati all'interno di questa classe DataTable.
Metodo protettoSupportato da XNA FrameworkCreateInstanceInfrastruttura. Crea una nuova istanza di DataTable.
Metodo pubblicoSupportato da XNA FrameworkDispose()Rilascia tutte le risorse utilizzate dall'oggetto MarshalByValueComponent. (Ereditato da MarshalByValueComponent)
Metodo protettoSupportato da XNA FrameworkDispose(Boolean)Rilascia le risorse non gestite utilizzate da MarshalByValueComponent e, facoltativamente, le risorse gestite. (Ereditato da MarshalByValueComponent)
Metodo pubblicoSupportato da XNA FrameworkEndInitTermina l'inizializzazione di un oggetto DataTable utilizzato in un modulo o da un altro componente. L'inizializzazione avviene in fase di esecuzione.
Metodo pubblicoSupportato da XNA FrameworkEndLoadDataAttiva le notifiche, la manutenzione degli indici e i vincoli dopo il caricamento dei dati.
Metodo pubblicoSupportato da XNA FrameworkEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoSupportato da XNA FrameworkFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da MarshalByValueComponent)
Metodo pubblicoSupportato da XNA FrameworkGetChanges()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 pubblicoSupportato da XNA FrameworkGetChanges(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 pubblicoMembro staticoSupportato da XNA FrameworkGetDataTableSchemaQuesto metodo restituisce un'istanza XmlSchemaSet contenente il linguaggio WDSL (Web Services Description Language) che descrive la classe DataTable per i servizi Web.
Metodo pubblicoSupportato da XNA FrameworkGetErrorsOttiene una matrice di oggetti DataRow che contengono errori.
Metodo pubblicoSupportato da XNA FrameworkGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetObjectDataPopola un oggetto delle informazioni di serializzazione coi dati richiesti per serializzare DataTable.
Metodo protettoSupportato da XNA FrameworkGetRowTypeInfrastruttura. Ottiene il tipo della riga.
Metodo protettoSupportato da XNA FrameworkGetSchemaInfrastruttura. Per una descrizione di questo membro, vedere IXmlSerializable.GetSchema.
Metodo pubblicoSupportato da XNA FrameworkGetServiceOttiene l'implementatore dell'interfaccia IServiceProvider. (Ereditato da MarshalByValueComponent)
Metodo pubblicoSupportato da XNA FrameworkGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkImportRowCopia un oggetto DataRow in un oggetto DataTable, conservando sia le impostazioni delle proprietà sia i valori originali e correnti.
Metodo pubblicoSupportato da XNA FrameworkLoad(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 pubblicoSupportato da XNA FrameworkLoad(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 pubblicoSupportato da XNA FrameworkLoad(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 pubblicoSupportato da XNA FrameworkLoadDataRow(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 pubblicoSupportato da XNA FrameworkLoadDataRow(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 protettoSupportato da XNA FrameworkMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkMerge(DataTable)Unire la classe DataTable specificata alla classe DataTable corrente.
Metodo pubblicoSupportato da XNA FrameworkMerge(DataTable, Boolean)Unire la classe DataTable specificata alla classe DataTable corrente, indicando se conservare le modifiche nella classe DataTable corrente.
Metodo pubblicoSupportato da XNA FrameworkMerge(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 pubblicoSupportato da XNA FrameworkNewRowCrea un nuovo oggetto DataRow con lo stesso schema della tabella.
Metodo protettoSupportato da XNA FrameworkNewRowArrayInfrastruttura. Restituisce una matrice di DataRow.
Metodo protettoSupportato da XNA FrameworkNewRowFromBuilderCrea una nuova riga da una riga esistente.
Metodo protettoSupportato da XNA FrameworkOnColumnChangedGenera l'evento ColumnChanged.
Metodo protettoSupportato da XNA FrameworkOnColumnChangingGenera l'evento ColumnChanging.
Metodo protettoSupportato da XNA FrameworkOnPropertyChangingGenera l'evento PropertyChanged.
Metodo protettoOnRemoveColumnNotifica all'oggetto DataTable che è in corso l'eliminazione di un oggetto DataColumn.
Metodo protettoSupportato da XNA FrameworkOnRowChangedGenera l'evento RowChanged.
Metodo protettoSupportato da XNA FrameworkOnRowChangingGenera l'evento RowChanging.
Metodo protettoSupportato da XNA FrameworkOnRowDeletedGenera l'evento RowDeleted.
Metodo protettoSupportato da XNA FrameworkOnRowDeletingGenera l'evento RowDeleting.
Metodo protettoSupportato da XNA FrameworkOnTableClearedGenera l'evento TableCleared.
Metodo protettoSupportato da XNA FrameworkOnTableClearingGenera l'evento TableClearing.
Metodo protettoSupportato da XNA FrameworkOnTableNewRowGenera l'evento TableNewRow.
Metodo pubblicoSupportato da XNA FrameworkReadXml(Stream)Legge i dati e lo schema XML nella classe DataTable utilizzando la classe Stream specificata.
Metodo pubblicoSupportato da XNA FrameworkReadXml(String)Legge i dati e lo schema XML nella classe DataTable dal file specificato.
Metodo pubblicoSupportato da XNA FrameworkReadXml(TextReader)Legge dati e XML Schema nell'oggetto DataTable utilizzando l'oggetto TextReader specificato.
Metodo pubblicoSupportato da XNA FrameworkReadXml(XmlReader)Legge i dati e lo schema XML nell'oggetto DataTable utilizzando l'oggetto XmlReader specificato.
Metodo pubblicoSupportato da XNA FrameworkReadXmlSchema(Stream)Legge uno schema XML nella classe DataTable, utilizzando il flusso specificato.
Metodo pubblicoSupportato da XNA FrameworkReadXmlSchema(String)Legge uno schema XML nella classe DataTable dal file specificato.
Metodo pubblicoSupportato da XNA FrameworkReadXmlSchema(TextReader)Legge uno schema XML nella classe DataTable, utilizzando la classe TextReader specificata.
Metodo pubblicoSupportato da XNA FrameworkReadXmlSchema(XmlReader)Legge uno schema XML nella classe DataTable, utilizzando la classe XmlReader specificata.
Metodo protettoSupportato da XNA FrameworkReadXmlSerializableInfrastruttura. Legge da un flusso XML.
Metodo pubblicoSupportato da XNA FrameworkRejectChangesAnnulla tutte le modifiche apportate alla tabella dal momento in cui è stata caricata oppure dall'ultima volta in cui è stato chiamato il metodo AcceptChanges.
Metodo pubblicoSupportato da XNA FrameworkResetRipristina lo stato originale della classe DataTable. Reimposta rimuove tutti i dati, gli indici, le relazioni e le colonne della tabella. Se un oggetto DataSet include un oggetto DataTable, la tabella farà ancora parte del DataSet dopo che viene reimpostata.
Metodo pubblicoSupportato da XNA FrameworkSelect()Ottiene una matrice di tutti gli oggetti DataRow.
Metodo pubblicoSupportato da XNA FrameworkSelect(String)Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro.
Metodo pubblicoSupportato da XNA FrameworkSelect(String, String)Ottiene una matrice di tutti gli oggetti DataRow che soddisfano i criteri di filtro, in base al criterio di ordinamento specificato.
Metodo pubblicoSupportato da XNA FrameworkSelect(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 pubblicoSupportato da XNA FrameworkToStringOttiene le proprietà TableName e DisplayExpression se ne esiste una come stringa concatenata. (Esegue l'override di MarshalByValueComponent.ToString()).
Metodo pubblicoSupportato da XNA FrameworkWriteXml(Stream)Scrive i contenuti correnti della classe DataTable come XML tramite la classe Stream specificata.
Metodo pubblicoSupportato da XNA FrameworkWriteXml(String)Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXml(TextWriter)Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto TextWriter specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXml(XmlWriter)Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(XmlWriter, Boolean)Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXml(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 pubblicoSupportato da XNA FrameworkWriteXmlSchema(Stream)Scrive la struttura dei dati correnti della classe DataTable come schema XML nel flusso specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXmlSchema(String)Scrive la struttura dei dati correnti della classe DataTable come schema XML nel file specificato.
Metodo pubblicoSupportato da XNA FrameworkWriteXmlSchema(TextWriter)Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe TextWriter specificata.
Metodo pubblicoSupportato da XNA FrameworkWriteXmlSchema(XmlWriter)Scrive la struttura dei dati correnti della classe DataTable come schema XML utilizzando la classe XmlWriter specificata.
Metodo pubblicoSupportato da XNA FrameworkWriteXmlSchema(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 pubblicoSupportato da XNA FrameworkWriteXmlSchema(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 pubblicoSupportato da XNA FrameworkWriteXmlSchema(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 pubblicoSupportato da XNA FrameworkWriteXmlSchema(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

  NomeDescrizione
Evento pubblicoSupportato da XNA FrameworkColumnChangedViene generato una volta modificato il valore per l'oggetto DataColumn specificato in un oggetto DataRow.
Evento pubblicoSupportato da XNA FrameworkColumnChangingViene generato quando è in corso la modifica di un valore per l'oggetto DataColumn specificato in un oggetto DataRow.
Evento pubblicoSupportato da XNA FrameworkDisposedAggiunge un gestore eventi per restare in attesa dell'evento Disposed sul componente. (Ereditato da MarshalByValueComponent)
Evento pubblicoSupportato da XNA FrameworkInitializedSi verifica dopo l'inizializzazione dell'oggetto DataTable.
Evento pubblicoSupportato da XNA FrameworkRowChangedViene generato una volta che è stata modificata correttamente una classe DataRow.
Evento pubblicoSupportato da XNA FrameworkRowChangingSi verifica durante la modifica di un oggetto DataRow.
Evento pubblicoSupportato da XNA FrameworkRowDeletedViene generato dopo l'eliminazione di una riga nella tabella.
Evento pubblicoSupportato da XNA FrameworkRowDeletingViene generato prima dell'eliminazione di una riga nella tabella.
Evento pubblicoSupportato da XNA FrameworkTableClearedSi verifica dopo che un oggetto DataTable viene cancellato.
Evento pubblicoSupportato da XNA FrameworkTableClearingSi verifica se un oggetto DataTable viene cancellato.
Evento pubblicoSupportato da XNA FrameworkTableNewRowSi verifica quando viene inserito un nuovo oggetto DataRow.
In alto

  NomeDescrizione
Metodo di estensione pubblicoAsDataViewCrea e restituisce un oggetto DataView che supporta LINQ. (Definito da DataTableExtensions).
Metodo di estensione pubblicoAsEnumerableRestituisce 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

  NomeDescrizione
Campo protettoSupportato da XNA FrameworkfInitInProgressInfrastruttura. Controlla se l'inizializzazione è in corso. L'inizializzazione avviene in fase di esecuzione.
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaProprietà privataSupportato da XNA FrameworkIListSource.ContainsListCollectionPer una descrizione di questo membro, vedere IListSource.ContainsListCollection.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIListSource.GetListPer una descrizione di questo membro, vedere IListSource.GetList.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIXmlSerializable.GetSchemaPer una descrizione di questo membro, vedere IXmlSerializable.GetSchema.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIXmlSerializable.ReadXmlPer una descrizione di questo membro, vedere IXmlSerializable.ReadXml.
Implementazione esplicita dell'interfacciaMetodo privatoSupportato da XNA FrameworkIXmlSerializable.WriteXmlPer una descrizione di questo membro, vedere IXmlSerializable.WriteXml.
In alto

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.

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.

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.

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.

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.

NotaNota

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.

TopicLocation
Procedura: creare DataTableAccesso ai dati in Visual Studio
Procedura: creare DataTableAccesso ai dati in Visual Studio

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.


// 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");
}


In questo esempio viene illustrato come creare manualmente un oggetto DataTable tramite definizioni specifiche dello schema:

  • Creare più Tabelle e definire le colonne iniziali.

  • Creare la tabella constraints.

  • Inserire valori e visualizzare tabelle.

  • Creare colonne espressioni e visualizzare tabelle.

I progetti C# e Visual Basic con questo codice di esempio possono essere trovati su Esempi di codice dello sviluppatore


using System;
using System.Data;

class Program {
   static void Main(string[] args) {
      // Create two tables and add them into the DataSet
      DataTable orderTable = CreateOrderTable();
      DataTable orderDetailTable = CreateOrderDetailTable();
      DataSet salesSet = new DataSet();
      salesSet.Tables.Add(orderTable);
      salesSet.Tables.Add(orderDetailTable);

      // Set the relations between the tables and create the related constraint.
      salesSet.Relations.Add("OrderOrderDetail", orderTable.Columns["OrderId"], orderDetailTable.Columns["OrderId"], true);

      Console.WriteLine("After creating the foreign key constriant, you will see the following error if inserting order detail with the wrong OrderId: ");
      try {
         DataRow errorRow = orderDetailTable.NewRow();
         errorRow[0] = 1;
         errorRow[1] = "O0007";
         orderDetailTable.Rows.Add(errorRow);
      } catch (Exception e) {
         Console.WriteLine(e.Message);
      }
      Console.WriteLine();

      // Insert the rows into the table
      InsertOrders(orderTable);
      InsertOrderDetails(orderDetailTable);

      Console.WriteLine("The initial Order table.");
      ShowTable(orderTable);

      Console.WriteLine("The OrderDetail table.");
      ShowTable(orderDetailTable);

      // Use the Aggregate-Sum on the child table column to get the result.
      DataColumn colSub = new DataColumn("SubTotal", typeof(Decimal), "Sum(Child.LineTotal)");
      orderTable.Columns.Add(colSub);

      // Compute the tax by referencing the SubTotal expression column.
      DataColumn colTax = new DataColumn("Tax", typeof(Decimal), "SubTotal*0.1");
      orderTable.Columns.Add(colTax);

      // If the OrderId is 'Total', compute the due on all orders; or compute the due on this order.
      DataColumn colTotal = new DataColumn("TotalDue", typeof(Decimal), "IIF(OrderId='Total',Sum(SubTotal)+Sum(Tax),SubTotal+Tax)");
      orderTable.Columns.Add(colTotal);

      DataRow row = orderTable.NewRow();
      row["OrderId"] = "Total";
      orderTable.Rows.Add(row);

      Console.WriteLine("The Order table with the expression columns.");
      ShowTable(orderTable);

      Console.WriteLine("Press any key to exit.....");
      Console.ReadKey();
   }

   private static DataTable CreateOrderTable() {
      DataTable orderTable = new DataTable("Order");

      // Define one column.
      DataColumn colId = new DataColumn("OrderId", typeof(String));
      orderTable.Columns.Add(colId);

      DataColumn colDate = new DataColumn("OrderDate", typeof(DateTime));
      orderTable.Columns.Add(colDate);

      // Set the OrderId column as the primary key.
      orderTable.PrimaryKey = new DataColumn[] { colId };

      return orderTable;
   }

   private static DataTable CreateOrderDetailTable() {
      DataTable orderDetailTable = new DataTable("OrderDetail");

      // Define all the columns once.
      DataColumn[] cols ={
                                  new DataColumn("OrderDetailId",typeof(Int32)),
                                  new DataColumn("OrderId",typeof(String)),
                                  new DataColumn("Product",typeof(String)),
                                  new DataColumn("UnitPrice",typeof(Decimal)),
                                  new DataColumn("OrderQty",typeof(Int32)),
                                  new DataColumn("LineTotal",typeof(Decimal),"UnitPrice*OrderQty")
                              };

      orderDetailTable.Columns.AddRange(cols);
      orderDetailTable.PrimaryKey = new DataColumn[] { orderDetailTable.Columns["OrderDetailId"] };
     return orderDetailTable;
   }

   private static void InsertOrders(DataTable orderTable) {
      // Add one row once.
      DataRow row1 = orderTable.NewRow();
      row1["OrderId"] = "O0001";
      row1["OrderDate"] = new DateTime(2013, 3, 1);
      orderTable.Rows.Add(row1);

      DataRow row2 = orderTable.NewRow();
      row2["OrderId"] = "O0002";
      row2["OrderDate"] = new DateTime(2013, 3, 12);
      orderTable.Rows.Add(row2);

      DataRow row3 = orderTable.NewRow();
      row3["OrderId"] = "O0003";
      row3["OrderDate"] = new DateTime(2013, 3, 20);
      orderTable.Rows.Add(row3);
   }

   private static void InsertOrderDetails(DataTable orderDetailTable) {
      // Use an Object array to insert all the rows .
      // Values in the array are matched sequentially to the columns, based on the order in which they appear in the table.
      Object[] rows = {
                                 new Object[]{1,"O0001","Mountain Bike",1419.5,36},
                                 new Object[]{2,"O0001","Road Bike",1233.6,16},
                                 new Object[]{3,"O0001","Touring Bike",1653.3,32},
                                 new Object[]{4,"O0002","Mountain Bike",1419.5,24},
                                 new Object[]{5,"O0002","Road Bike",1233.6,12},
                                 new Object[]{6,"O0003","Mountain Bike",1419.5,48},
                                 new Object[]{7,"O0003","Touring Bike",1653.3,8},
                             };

      foreach (Object[] row in rows) {
         orderDetailTable.Rows.Add(row);
      }
   }

   private static void ShowTable(DataTable table) {
      foreach (DataColumn col in table.Columns) {
         Console.Write("{0,-14}", col.ColumnName);
      }
      Console.WriteLine();

      foreach (DataRow row in table.Rows) {
         foreach (DataColumn col in table.Columns) {
            if (col.DataType.Equals(typeof(DateTime)))
               Console.Write("{0,-14:d}", row[col]);
            else if (col.DataType.Equals(typeof(Decimal)))
               Console.Write("{0,-14:C}", row[col]);
            else
               Console.Write("{0,-14}", row[col]);           
         }
         Console.WriteLine();
      }
      Console.WriteLine();
   }
}


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

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

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

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft