Condividi tramite


Aggiunta di dati a un DataTable

Dopo aver creato un oggetto DataTable e definito la relativa struttura usando colonne e vincoli, è possibile aggiungere nuove righe di dati alla tabella. Per aggiungere una nuova riga, dichiarare una nuova variabile come tipo DataRow. Quando si chiama il metodo viene restituito un nuovo oggetto NewRow. DataTable crea quindi l'oggetto DataRow in base alla struttura della tabella, come definito da DataColumnCollection.

Nell'esempio seguente viene illustrato come creare una nuova riga chiamando il metodo NewRow .

Dim workRow As DataRow = workTable.NewRow()  
DataRow workRow = workTable.NewRow();  

È quindi possibile modificare la riga appena aggiunta usando un indice o il nome della colonna, come illustrato nell'esempio seguente.

workRow("CustLName") = "Smith"  
workRow(1) = "Smith"  
workRow["CustLName"] = "Smith";  
workRow[1] = "Smith";  

Dopo l'inserimento dei dati nella nuova riga, viene usato il metodo Add per aggiungere la riga a DataRowCollection, come illustrato nel codice seguente.

workTable.Rows.Add(workRow)  
workTable.Rows.Add(workRow);  

È anche possibile chiamare il metodo Add per aggiungere una nuova riga passando una matrice di valori, tipizzata come Object, come illustrato nell'esempio seguente.

workTable.Rows.Add(new Object() {1, "Smith"})  
workTable.Rows.Add(new Object[] {1, "Smith"});  

Passando una matrice di valori, tipizzata come Object, al metodo Add viene creata una nuova riga all'interno della tabella e i relativi valori di colonna vengono impostati sui valori della matrice di oggetti. Si noti che i valori nella matrice vengono confrontati in sequenza con le colonne, in base all'ordine in cui vengono visualizzati nella tabella.

Nell'esempio seguente vengono aggiunte 10 righe alla tabella Customers appena creata.

Dim workRow As DataRow  
Dim i As Integer  
  
For i = 0 To 9  
  workRow = workTable.NewRow()  
  workRow(0) = i  
  workRow(1) = "CustName" & I.ToString()  
  workTable.Rows.Add(workRow)  
Next  
DataRow workRow;  
  
for (int i = 0; i <= 9; i++)
{  
  workRow = workTable.NewRow();  
  workRow[0] = i;  
  workRow[1] = "CustName" + i.ToString();  
  workTable.Rows.Add(workRow);  
}  

Vedere anche