У меня есть простое приложение, в котором есть список с именами авторов в базе данных (для целей этого проекта 1 автор = 1 книга). Я должен использовать типизированный DataSet для этого приложения.Вставить, обновить, удалить с помощью типизированного DataSet
Когда вы выбираете одного из авторов, в стороне есть три текстовых поля. Один показывает имя выбранного автора, другой показывает связанную с ним книгу, а последнюю - дату публикации.
На этой форме у меня есть 3 кнопки. Один из них должен удалить выбранную строку (в списке) из базы данных, предполагается, что она должна обновить выбранную строку, а одна должна вставить новую строку.
я заселил ListBox и текстовые поля только с помощью перетаскивания из источников данных на форме, единственная линия у меня есть в моем коде:
this.BookTableAdapter.Fill(this.myDataSet.Book);
Это, конечно, происходит при загрузке.
Я начал с попытками реализовать функцию удаления и поставить это на событие OnClick кнопки удаления:
MyDataSet.BookRow selectedBook = (MyDataSet.BookRow)listBox1.SelectedItem;
selectedBook.Delete();
При нажатии на кнопку Удалить это дает мне следующее исключение:
System.InvalidCastException: Unable to cast object of type 'System.Data.DataRowView' to type 'BookRow'.
Может ли кто-нибудь сказать мне, что я делаю неправильно здесь?
Это должно работать, если вы хотите строго типизированный datarow (не очень, хотя!): Var selectedBook = (MyDataSet.BookRow) ((System.Data.DataRowView) listBox1.SelectedItem) .Row; – Shiv