如何更新数据集

Mr_*_*een 1 c# dataset

在我的项目中,有两个文本框,txtNametxtPopulation和一个按钮,btnClick.每当用户单击时btnClick,数据集的"Population"列中dsDetails的值应该通过值"in txtPopulation" 更新,其中"Name"列等于txtName.我知道这可以使用rowfilter或者完成,select但我不知道要在其中实现什么.请不要linq

在此输入图像描述 目前,我正在做这样的事情..(工作)

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*ann 9

您需要调用.AcceptChanges()DataTable,以便将更改提交到集合,如下所示:

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();
Run Code Online (Sandbox Code Playgroud)

使用选择行过滤器

您可以使用.Select行过滤器来定位列,如下所示:

foreach (DataRow row in dsDetails.Tables[0].Select("Name = '" + txtName.Text + "'"))
{
    row[3] = txtPopulation.Text;
}

dsDetails.Tables[0].AcceptChanges();
Run Code Online (Sandbox Code Playgroud)