1

2 つdatagridviewあり、1 つは親レコードを示し、もう 1 つは子レコードです。

カスケード更新および削除ルールと階層更新を true に設定して、リレーションと外部キー制約をデータセットに定義しました。

親のレコードを削除し、その子レコードを削除したいdatagridview。私のコードの下:

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
    DialogResult res = MessageBox.Show("Sicuro", "Attenzione", MessageBoxButtons.YesNo);
    if (res == System.Windows.Forms.DialogResult.Yes)
    {

        try
        {
            //parent table
            pianoDiInterventoBindingSource.RemoveCurrent();

            //child table
            pianoInterventoServiziBindingSource.EndEdit();

            pianoDiInterventoBindingSource.EndEdit();
            tableAdapterManager.UpdateAll(this.archivioDataSet);
        }
        catch
        {
        }
        finally
        {
            this.pianoDiInterventoTableAdapter.Fill(this.archivioDataSet.PianoDiIntervento);
            this.pianoInterventoServiziTableAdapter.Fill(this.archivioDataSet.PianoInterventoServizi);
        }
    }
}

親レコードは削除できましたが、子レコードは削除できなかったので、constraintexception error.

どうしてこれなの?

4

0 に答える 0