C# 未能启用约束。一个或多个行包含违反非空、唯一或外键约束的值。MyDataset.Tables[0]。合并
尝试合并数据集中的表时发生此异常:- (未能启用约束。一行或多行包含违反非null、唯一或外键约束的值。) 代码:C# 未能启用约束。一个或多个行包含违反非空、唯一或外键约束的值。MyDataset.Tables[0]。合并,c#,C#,尝试合并数据集中的表时发生此异常:- (未能启用约束。一行或多行包含违反非null、唯一或外键约束的值。) 代码: 我看了Murat Yıldız评论中的问题,但没有一个答案与我的设置相符。我的代码在Merge方法中也失败。在我的案例中起作用的是这个片段,取自这里: 试试看 { 数据集。合并(另一个数据集); } 捕获(约束异常) { foreach(dataSet.Tables中的DataTable表) { DataRow[]rowErrors=table.GetErrors(); Syste
我看了Murat Yıldız评论中的问题,但没有一个答案与我的设置相符。我的代码在
Merge
方法中也失败。在我的案例中起作用的是这个片段,取自这里:
试试看
{
数据集。合并(另一个数据集);
}
捕获(约束异常)
{
foreach(dataSet.Tables中的DataTable表)
{
DataRow[]rowErrors=table.GetErrors();
System.Diagnostics.Debug.WriteLine(table.TableName+“Errors:”+rowErrors.Length);
对于(int i=0;i
您有什么问题吗?异常是自解释的。是否尝试在数据集中添加表?尝试MyDataset.Tables.Add(dt)代码>希望它能做你正在尝试的事情……)看一看。
MyDataset.Tables[0].Merge(dt, false, MissingSchemaAction.Add);
try
{
dataSet.Merge(anotherDataSet);
}
catch (ConstraintException)
{
foreach (DataTable table in dataSet.Tables)
{
DataRow[] rowErrors = table.GetErrors();
System.Diagnostics.Debug.WriteLine(table.TableName + " Errors:" + rowErrors.Length);
for (int i = 0; i < rowErrors.Length; i++)
{
System.Diagnostics.Debug.WriteLine(rowErrors[i].RowError);
foreach (DataColumn col in rowErrors[i].GetColumnsInError())
{
System.Diagnostics.Debug.WriteLine(col.ColumnName + ":" + rowErrors[i].GetColumnError(col));
}
}
}
}