Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Не удаляются строки из БД


Автор: Roo 19.7.2006, 13:05
Проблема такая. Использую типизированный ДатаСет. ДатаАдаптеры создал через дизайнер, подключил, датасет заполнился. НО.. При удалении строки таблицы из датасета, после вызова myAdapter.Update(myDataSet, "MyTableName"), изменения не сохраняются в БД. Хотя при вставке новой строки - всё работает. Команда удаления в Адаптере создана автоматически:
Код

this.sqlDeleteCommand4.CommandText = "DELETE FROM User_Group WHERE (GrID = @Original_GrID) AND (UserID = @Original_UserID)";
this.sqlDeleteCommand4.Connection = this.sqlConnection1;
this.sqlDeleteCommand4.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_GrID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "GrID", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand4.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_UserID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "UserID", System.Data.DataRowVersion.Original, null));


Подскажите, в чём может быть проблема. 

Автор: mr.DUDA 19.7.2006, 21:38
Странно, всё должно работать... В чём тут причина - непонятно, возможно что очень простая причина smile 

Автор: Roo 25.7.2006, 04:17
У меня проблема решилась. Нужно было удалять объект DataRow напрямую, вызовом метода Delete(), а я делал через генерированный метод удаления в ДатаСете. Видимо строка просто удалялась из коллекции Rows, а не помечалась к удалению 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)