Condividi tramite


Definizione dello schema di DataTable (ADO.NET)

Lo schema, o struttura, di una tabella viene rappresentato da colonne e vincoli. Lo schema di un tipo DataTable viene definito utilizzando gli oggetti DataColumn oltre agli oggetti ForeignKeyConstraint e UniqueConstraint. Le colonne di una tabella possono essere associate a colonne di un'origine dati, contenere valori calcolati da espressioni, incrementare automaticamente i propri valori o contenere valori di chiavi primarie.

I riferimenti basati sui nomi a colonne, relazioni e vincoli di una tabella distinguono tra maiuscole e minuscole. Pertanto, in una tabella possono coesistere due o più colonne, relazioni o vincoli con lo stesso nome ma che presentano una combinazione diversa di maiuscole e minuscole. È possibile, ad esempio, che siano presenti sia Col1 che col1. In tal caso, è necessario che in un riferimento a una delle colonne basato sul nome venga utilizzato il nome con la stessa combinazione di maiuscole e minuscole adottata nella colonna. Se il nome non corrisponde, verrà generata un'eccezione. Se ad esempio nella tabella myTable sono contenute le colonne Col1 e col1, il riferimento basato sul nome a Col1 sarà myTable.Columns["Col1"] e il riferimento a col1 sarà myTable.Columns["col1"]. Se si tenta di fare riferimento a una delle due colonne come myTable.Columns["COL1"], verrà generata un'eccezione.

La distinzione tra maiuscole e minuscole non è rilevante se nella tabella è presente solo una colonna, una relazione o un vincolo con un determinato nome. Ovvero, se nella tabella non sono presenti altre relazioni o oggetti Constraint il cui nome corrisponda al nome della particolare colonna o relazione o oggetto Constraint, è possibile fare riferimento all'oggetto mediante il nome, utilizzando sia lettere maiuscole che minuscole, senza che venga generata alcuna eccezione. Se ad esempio nella tabella è presente solo Col1, è possibile fare riferimento a tale colonna utilizzando my.Columns["COL1"].

NotaNota

La proprietà CaseSensitive di DataTable non influisce su tale comportamento.Tale proprietà viene infatti applicata ai dati della tabella e influisce sull'ordinamento, la ricerca, l'applicazione di filtri, di vincoli e così via, ma non sui riferimenti a colonne, relazioni e vincoli.

In questa sezione

Vedere anche

Altre risorse

DataTable (ADO.NET)