leone Ответов: 2

Dataadapter.update() ничего не сохраняет


Привет, у меня есть отключенный телефон ado.net код. Я удаляю некоторые строки из таблицы данных. А затем вызывается метод acceptchanges объекта DataTable за а потом обновление для физически экономия за объект dataadapter. Если я не ставлю следующую строку, все работает нормально, иначе нет никаких фактических изменений в базе данных: ds.Tables[0].Метод acceptchanges();
Интересно, почему принятие изменений и последующее обновление не работают?

SqlConnection conn = new SqlConnection(connectionString);
            conn.Open();
            SqlDataAdapter adapter = new SqlDataAdapter("select * from People", conn);
            SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
            DataSet ds = new DataSet();

            adapter.Fill(ds);

            DataRow[] rows_filtered = ds.Tables[0].Select("cityID=1");
            foreach (DataRow item in rows_filtered)
            {
                item.Delete();
            }

            dataGridView1.DataSource = ds.Tables[0];
            //ds.Tables[0].AcceptChanges(); ***why this line causes trouble***
           adapter.Update(ds.Tables[0]);


Что я уже пробовал:

Пока не очень много. Я действительно запутался в адаптере.Обновление и datatable.Метод acceptchanges(). Они видят, что мы похожи.

2 Ответов

Рейтинг:
2

Gerry Schmitz

"AcceptChanges" приходит после "Update".

объект DataTable.Метод AcceptChanges (System.Data) | Microsoft Docs[^]


Рейтинг:
2

leone

Ладно, брат, я вижу. Спасибо за ваш ответ.