0

i have simple database and dataset, which looks like: file: myDb

klasa = class room
nauczyciel = teacher

enter image description here

klasa data: enter image description here

teacher data:

enter image description here

now i want to remove teacher, which has ID equals 2: it's whole code:

        DataSet2 db = new DataSet2();
        nauczycielTableAdapter teacherAdapter = new nauczycielTableAdapter();
        teacherAdapter.Fill(db.nauczyciel);

        klasaTableAdapter classAdapter = new klasaTableAdapter();
        classAdapter.Fill(db.klasa);

        var teacherToRemove = db.nauczyciel.Where(p => p.nauczycielID == 2).SingleOrDefault();

        DataRow[] classesTeacher = teacherToRemove.GetChildRows(db.Relations["FK_klasa_0_0"]);
        if (classesTeacher.Length == 0)
        {
            teacherToRemove.Delete();
            teacherAdapter.Update(db.nauczyciel);
        }
        else
            Console.WriteLine("You must first remove classes teacher");
        Console.ReadKey();

FK_klasa_0_0 - it's name of relationship between klasa and nauczyciel

I get a exception:

Additional information: Concurrency Violation: the Delete Command element relates to the following number of records: 0 (expected number of records: 1).

How could i remove this problem?

Community
  • 1
  • 1
Marek Woźniak
  • 1,766
  • 16
  • 34

1 Answers1

0

I think that it resolve my problem: i created same database but names it with extension .sqlite. The previous database not had this extension and it may make me problems.

Marek Woźniak
  • 1,766
  • 16
  • 34