How to update a dataset
c#, dataset
Solution
You need to call `.AcceptChanges()` on your DataTable so your changes are committed to the collection, like this:
for (int intCount = 0; intCount < dsDetails.Tables[0].Rows.Count; intCount++)
{
if (lblCountryName.Text.Equals(dsDetails.Tables[0].Rows[intCount][0].ToString()))
{
dsDetails.Tables[0].Rows[intCount][3] = txtPopulation.Text;
}
}
dsDetails.Tables[0].AcceptChanges();
Using select row filter
You can target your column by using the `.Select` row filter, like this:
foreach (DataRow row in dsDetails.Tables[0].Select("Name = '" + txtName.Text + "'"))
{
row[3] = txtPopulation.Text;
}
dsDetails.Tables[0].AcceptChanges();
Problem
In my project, there are two textBoxes, `txtName` and `txtPopulation` and a Button, `btnClick`. whenever the user clicks `btnClick`, the value in the "Population" column of the dataset `dsDetails` should get updated by the value in `txtPopulation`, where the "Name" Column is equal to `txtName`. I know this can be done using `rowfilter` or `select` but I have no idea what to implement in it. Please no linq Currently, I am doing something like this..(working) ``` for (int intCount = 0; intCount < dsDetails.Tables[0].Rows.Count; intCount++) { if (lblCountryName.Text.Equals(dsDetails.Tables[0].Rows[intCount][0].ToString())) { dsDetails.Tables[0].Rows[intCount][3] = txtPopulation.Text; } } ```