Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

An error occurred while updating the entries. See the inner exception for details [closed]

When i delete an item in a listbox, i get the error in the question as shown in the screenshot below: error

I do not know where the inner exception is, but i tried try, catch but i got the same error in the question.

Here is all of the code :

namespace WpfApplication7
 {
/// <summary>
/// Interaction logic for Edit_Rooms.xaml
/// </summary>
public partial class Edit_Rooms : Window
{
    public Edit_Rooms()
    {
        InitializeComponent();
    }

    //initialises entities
    WpfApplication7.AllensCroftEntities1 allensCroftEntities1 = new WpfApplication7.AllensCroftEntities1();
    private Room ObjectIndex;

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        // Load data into Rooms. 
        System.Windows.Data.CollectionViewSource roomsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("roomsViewSource")));
        //runs a query to go the roomsQuery to get the rooms table from the entities
        System.Data.Objects.ObjectQuery<WpfApplication7.Room> roomsQuery = this.GetRoomsQuery(allensCroftEntities1);
        //used when adding new rooms
        roomsViewSource.Source = roomsQuery.Execute(System.Data.Objects.MergeOption.AppendOnly);
    }

    private System.Data.Objects.ObjectQuery<Room> GetRoomsQuery(AllensCroftEntities1 allensCroftEntities1)
    {
        System.Data.Objects.ObjectQuery<WpfApplication7.Room> roomsQuery = allensCroftEntities1.Rooms;
        // Returns an ObjectQuery.
        return roomsQuery;
    }

    private void btnDelete_Click(object sender, RoutedEventArgs e)
    {
        //prevents user trying to delete nothing/unselected row
        if (ObjectIndex == null)
        {
            MessageBox.Show("Cannot delete the blank entry");
        }
        else
        {
                //deletes object from dataset, saves it and outputs a message
                allensCroftEntities1.DeleteObject(ObjectIndex);
                allensCroftEntities1.SaveChanges();
                MessageBox.Show("Room Deleted");
        }
    }

    private void btnSave_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            //attempts to save changes
            allensCroftEntities1.SaveChanges();
            MessageBox.Show("Saved");
        }
        catch (Exception ex)
        {
            //if unsuccessful, outputs an error message
            MessageBox.Show(ex.ToString());
        }
    }

    private void btnFirst_Click(object sender, RoutedEventArgs e)
    {
        listbox.SelectedIndex = 0;
    }

    private void btnPrevious_Click(object sender, RoutedEventArgs e)
    {
        //prevents user going to the previous item before the first item
        if (listbox.SelectedIndex > 0)
        {
            listbox.SelectedIndex -= 1;
        }
    }

    private void btnNext_Click(object sender, RoutedEventArgs e)
    {
        //prevents user going after last item and throwing up an error
        if (listbox.SelectedIndex < listbox.Items.Count)
        {
            listbox.SelectedIndex += 1;
        }
    }

    private void btnLast_Click(object sender, RoutedEventArgs e)
    {
        listbox.SelectedIndex = listbox.Items.Count - 1;
    }

    private void listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        //outputs index of the selected room
        ObjectIndex = listbox.SelectedItem as Room;
    }
}
}
like image 674
Hamoudy Avatar asked Mar 17 '13 22:03

Hamoudy


People also ask

How can I see inner exception for details?

When you're debugging and you get an exception, always, always, always click on the View Details link to open the View Details dialog. If the message in the dialog isn't expanded, expand it, then scan down to the Inner Exception entry.

What is Microsoft Entityframeworkcore Dbupdateexception?

An exception that is thrown when an error is encountered while saving to the database.


2 Answers

Click "View Detail..." a window will open where you can expand the "Inner Exception" my guess is that when you try to delete the record there is a reference constraint violation. The inner exception will give you more information on that so you can modify your code to remove any references prior to deleting the record.

enter image description here

like image 154
Oliver Avatar answered Sep 29 '22 17:09

Oliver


Click "view details" to find the inner exception.

like image 22
stephen776 Avatar answered Sep 29 '22 18:09

stephen776