C# 回避数据库表中数据集的已删除行
我不知道该保留什么标题(仍然很困惑,很抱歉)。在我的项目中,我试图通过C# 回避数据库表中数据集的已删除行,c#,.net,winforms,c#-4.0,dataset,C#,.net,Winforms,C# 4.0,Dataset,我不知道该保留什么标题(仍然很困惑,很抱歉)。在我的项目中,我试图通过DataSet更新数据库表。我实现了这一点,但当我删除数据集中的任何行并尝试更新数据库表时,VS显示错误-->“无法通过该行访问已删除的行信息”。然后我在网上搜索我得到了这个问题的答案。现在,我的代码没有显示任何错误,但令我感叹的是,数据库正在更新为DataSet的新值,既有也删除了。我不想将已删除的Dataset行添加到数据库表中。如何解决这个问题 在我的代码中,我使用的是DataRowVersion.Original,我应
DataSet
更新数据库表。我实现了这一点,但当我删除数据集中的任何行并尝试更新数据库表时,VS显示错误-->“无法通过该行访问已删除的行信息”。然后我在网上搜索我得到了这个问题的答案。现在,我的代码没有显示任何错误,但令我感叹的是,数据库正在更新为DataSet
的新值,既有也删除了。我不想将已删除的Dataset
行添加到数据库表中。如何解决这个问题
在我的代码中,我使用的是
DataRowVersion.Original
,我应该更改它吗?我还尝试了其他的DataRowVersion
值,但没有结果。//是的,在将值插入数据库之前,您必须进行一些检查
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
}
}
}
//是的,在将值插入数据库之前,您必须进行一些检查
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
}
}
}