我不知道该怎么保持标题(仍然困惑,抱歉)。在我的项目中,我试图通过DataSet
更新数据库表。好吧,我实现了这个,但是当我删除DataSet
中的任何行并尝试更新数据库表时,VS显示错误 - > “无法通过行访问已删除的行信息”。然后我在互联网上搜索了我在answer中得到了解决方案。现在我的代码没有显示任何错误,但令我感到惊讶的是,数据库正在使用DataSet
现有和已删除的新值进行更新。我不想将已删除的Dataset
行添加到数据库表中。怎么解决这个问题?
在我的代码中我使用DataRowVersion.Original
,我应该更改它吗?我还尝试了DataRowVersion
的其他值,但没有结果。
答案 0 :(得分: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
}
}
}