Поделиться через


Добавление данных в DataTable

После создания DataTable и определения структуры с помощью столбцов и ограничений можно добавить в таблицу новые строки данных. Чтобы добавить новую строку, объявите новую переменную в виде типа DataRow. При вызове метода возвращается новый объект NewRow. Затем DataTable создает объект DataRow на основе структуры таблицы, как определено DataColumnCollection.

В следующем примере показано, как создать новую строку, вызвав метод NewRow .

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

Затем можно управлять только что добавленной строкой с помощью индекса или имени столбца, как показано в следующем примере.

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

После вставки данных в новую строку метод Add используется для добавления строки в DataRowCollectionстроку, показанную в следующем коде.

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

Можно также вызвать метод Add , чтобы добавить новую строку, передав массив значений, типизированный как Object, как показано в следующем примере.

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

Передача массива значений, имеющего тип Object, методу Add позволяет создать новую строку в таблице и задать значения её столбцов соответствующими значениями из массива объектов. Обратите внимание, что значения в массиве сопоставляются последовательно со столбцами в зависимости от порядка, в котором они отображаются в таблице.

В следующем примере добавляется 10 строк в только что созданную таблицу Customers .

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

См. также