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" NorthwindDataSet1.Customers.Rows.Add(newCustomersRow)
NorthwindDataSet.CustomersRow newCustomersRow = northwindDataSet1.Customers.NewCustomersRow(); newCustomersRow.CustomerID = "ALFKI"; newCustomersRow.CompanyName = "Alfreds Futterkiste"; northwindDataSet1.Customers.Rows.Add(newCustomersRow);
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" DataSet1.Tables("Customers").Rows.Add(newCustomersRow)
DataRow newCustomersRow = dataSet1.Tables["Customers"].NewRow(); newCustomersRow["CustomerID"] = "ALFKI"; newCustomersRow["CompanyName"] = "Alfreds Futterkiste"; dataSet1.Tables["Customers"].Rows.Add(newCustomersRow);