How to: Add Rows to a DataTable

To add new records into a dataset, a new data row must be created and added to the DataRow collection (Rows) of a DataTable in the dataset. The following procedures show how to create a new row and insert it into a DataTable. Examples are provided for both typed and untyped datasets.


Applications that use data-bound controls typically get the ability to add new records through the "add new" button on a BindingNavigator Control.

Inserting a New Record into a Typed Dataset

For this example, it is assumed that a dataset has a CustomersDataTable and has two columns named CustomerID and CompanyName. Typed datasets expose the column names as properties of the typed DataRow object; in this case the CustomersRow.

To add a new record to a typed dataset

  • Declare a new instance of the typed dataset. In the following example, you declare a new instance of the CustomersRow class, assign it a new row, populate the columns with data, and add the new row to the Customers table's Rows collection:

    Dim newCustomersRow As NorthwindDataSet.CustomersRow
    newCustomersRow = NorthwindDataSet1.Customers.NewCustomersRow()
    newCustomersRow.CustomerID = "ALFKI"
    newCustomersRow.CompanyName = "Alfreds Futterkiste"
    NorthwindDataSet.CustomersRow newCustomersRow = 
    newCustomersRow.CustomerID = "ALFKI";
    newCustomersRow.CompanyName = "Alfreds Futterkiste";

Inserting a New Record into an Untyped Dataset

For this example, it is assumed that the untyped dataset has a CustomersDataTable that has two columns named CustomerID and CompanyName. Untyped datasets require knowledge of column names or indices when coding. This example uses column names.

To add a record to an untyped dataset

  • Call the NewRow method of a DataTable to create a new, empty row. This new row inherits its column structure from the data table's DataColumnCollection. The following code creates a new row, populates it with data, and adds it to the table's Rows collection.

    Dim newCustomersRow As DataRow = DataSet1.Tables("Customers").NewRow()
    newCustomersRow("CustomerID") = "ALFKI"
    newCustomersRow("CompanyName") = "Alfreds Futterkiste"
    DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow();
    newCustomersRow["CustomerID"] = "ALFKI";
    newCustomersRow["CompanyName"] = "Alfreds Futterkiste";

See Also


How to: Edit Rows in a DataTable

How to: Delete Rows in a DataTable

How to: Commit Changes in a Dataset

How to: Customize Item Addition with the Windows Forms BindingSource





Editing Data in Your Application

Adding Data to a DataTable

Other Resources

BindingSource Component

Manipulating Data in a DataTable