0

データセット内のテーブルをマージしようとすると、この例外が発生しました:- (制約を有効にできませんでした。1 つ以上の行に、非 null、一意、または外部キーの制約に違反する値が含まれています。)

コード:

MyDataset.Tables[0].Merge(dt, false, MissingSchemaAction.Add);
4

1 に答える 1

2

Murat Yıldız コメントの質問を見ましたが、私の設定ではどの回答も機能しませんでした。私のコードMergeもメソッドで失敗しました。私の場合にうまくいったのは、ここから取られたこのスニペットでした: http://www.codeproject.com/Tips/405938/Debugging-DataSet-Constraint-Errors

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));
            }
        }
    }
}
于 2016-11-16T17:47:53.043 に答える