2015-07-22 3 views
1

Я использую DataSet для хранения данных и SqlDataAdapter для работы с базой данных.SqlDataAdapter не удаляет запись

для записей изменений в базе данных первого я редактирование строк (вставка, редактирование, удаление) DataTable в Dataset ..

затем

DataRow dr = DataSetMain.Tables["tbl_error"].Select("error_name='" + error.Name + "'")[0]; 
      DataSetMain.Tables["tbl_error"].Rows.Remove(dr); 
    SqlDataAdapter adp = new SqlDataAdapter("SELECT * FROM tbl_error", SVariable._DataBaseConnectionString); 
       SqlCommandBuilder bui = new SqlCommandBuilder(adp); 
    adp.Update(DataSetName,tbl_error); 

для вставки или редактирования записи каждой вещь работы как шарм ... но для удаления это не работает.

Я уверен, что строка в tbl_error удалена, но adp.Update ничего не удалит из базы данных ...

как я могу найти проблему?

+1

Вы получаете ошибку или делает Обновление завершено без ошибок, но строки все еще там? –

+0

@ScottChamberlain: NO. dr.delete() решил мою проблему .. спасибо – abbas

ответ

1

Вызов строк. REMove() эквивалентен вызовам Rows.Delete() + AcceptChanges(). Из-за AcceptChanges, Update() не вносят никаких изменений.

Затем замените:

DataSetMain.Tables["tbl_error"].Rows.Remove(dr); 

по

dr.Delete() 
Смежные вопросы