在传递带有已修改行的DataRow集合时,Update需要有效的UpdateCommand

时间:2009-12-06 13:52:47

标签: c# asp.net

我正在使用以下代码更新数据库表中的行:

MissioniDataSet missioniDataSet = new MissioniDataSet();
    MissioniDiarieTableAdapter missioniDiarieTableAdapter = new MissioniDiarieTableAdapter();
    missioniDiarieTableAdapter.Fill(missioniDataSet.MissioniDiarie);
    foreach (MissioniDataSet.MissioniDiarieRow i in missioniDataSet.MissioniDiarie.Rows)
    {
        i.Diaria = Decimal.Parse(((TextBox)Page.FindControl("importo" + i.DiariaID)).Text);
        i.AccontoMax = Decimal.Parse(((TextBox)Page.FindControl("acconto" + i.DiariaID)).Text);            
    }
    missioniDiarieTableAdapter.Update(missioniDataSet.MissioniDiarie);

但是当我运行它时,我收到以下错误:

  

在传递带有修改行的DataRow集合时,Update需要有效的UpdateCommand。

为什么呢?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

错误非常直观,问题出在您的Adapter上,它缺少UPDATE SQL语句。

显然您正在使用生成的适配器。尝试重新配置它。但请注意,与正常SELECT x, y FROM t模式和工具的最轻微偏差将会失败。但是您可以自己编写UPDATE(并且您可能也需要DELETE,INSERT)语句。