如何更新数据集

时间:2012-10-22 09:47:12

标签: c# dataset

在我的项目中,有两个textBox,txtNametxtPopulation以及一个Button btnClick。每当用户点击btnClick时,数据集dsDetails的“人口”列中的值应按txtPopulation中的值更新,其中“名称”列等于{{ 1}}。我知道这可以使用txtNamerowfilter来完成,但我不知道要在其中实现什么。 请不要linq

enter image description here 目前,我正在做这样的事情..(工作

select

2 个答案:

答案 0 :(得分:8)

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

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

使用选择行过滤器

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

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

dsDetails.Tables[0].AcceptChanges();

答案 1 :(得分:2)

DataRow[] dr = dsDetails.Tables[0].Select("Something='"+lblCountryName.Text+"'");
if(dr.Length > 0)
{
 dr[0][0] = "ChangeValue";//Datarow is reference to datatable it will automatically update the datatable values
}
dsDetails.Tables[0].AcceptChanges();