【问题标题】:evade deleted row of dataset in database table规避数据库表中已删除的数据集行
【发布时间】:2012-10-23 22:11:27
【问题描述】:

我不知道该保留什么标题(仍然感到困惑,对此感到抱歉)。在我的项目中,我试图通过DataSet 更新数据库表。好吧,我做到了,但是当我删除DataSet 中的任何行并尝试更新数据库表时,VS 显示错误->“无法通过该行访问已删除的行信息”。然后我在互联网上搜索我得到了这个answer 的解决方案。现在我的代码没有显示任何错误,但令我感叹的是,数据库正在更新为 DataSet 的新值,既存在又也已删除。我不想将Dataset 的已删除行添加到数据库表中。如何解决?

在我的代码中我使用DataRowVersion.Original,我应该更改它吗?我还尝试了DataRowVersion 的其他值,但没有结果。

【问题讨论】:

    标签: c# .net winforms c#-4.0 dataset


    【解决方案1】:

    //是的,在将值插入数据库之前,您必须进行一些检查

            foreach (DataRow row in ds.Tables["Table_Name"].Rows)
            {
                if (row.RowState != DataRowState.Deleted)
                {
                    if (row.RowState == DataRowState.Added)
                    { 
                        // Perform insertion in to database
                    }
                    if (row.RowState == DataRowState.Modified)
                    { 
                        // perform updation in to databse
                    }
                }
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 2015-09-11
      • 2014-11-05
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多