Ошибка при попытке удалить строку в базе данных access

#c# #ms-access

#c# #ms-access

Вопрос:

Привет, ребята, я пытаюсь удалить строку в базе данных access, но когда я пытаюсь обновить набор данных, он выдает мне эту ошибку

 Update requires a valid DeleteCommand when passed DataRow collection with deleted rows.
 

Я пытался решить это самостоятельно, но, похоже, я не могу это исправить. Так что, если кто-нибудь может дать мне совет, я буду очень благодарен. Вот мой код.

             currentRow = e.RowIndex;
            ds1 = new DataSet();
            con = new System.Data.OleDb.OleDbConnection();
            con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=DataSource/PhoneBookData.mdb";
            con.Open();
            string sql = "SELECT * From CONTACT";
            da = new System.Data.OleDb.OleDbDataAdapter(sql, con);
            da.Fill(ds1, "CONTACT");

            DataRow dRow = ds1.Tables["CONTACT"].Rows[0];
            ds1.Tables["CONTACT"].Rows[currentRow].Delete();
            da.Update(ds1, "CONTACT");
 

Заранее спасибо за помощь.

Ответ №1:

Исключение точно соответствует вашей проблеме — вам не хватает команды DeleteCommand в адаптере:

 da = new System.Data.OleDb.OleDbAdapter( ... );
da.DeleteCommand = "DELETE ....";