Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 131 стр.

UptoLike

Составители: 

131
Рис. 109. Метод GetChanges
Метод GetChanges возвращает новый объект DataSet или DataTable со
структурой исходного объекта, но содержащий только измененные записи из
исходного объекта. На рис. 109 исходными объектами являются myDataSet (A) и
myDataTable (Б), а новыми, созданными методом GetChangesnewDataSet (А) и
newDataTable (Б). Применяя в качестве параметра значение перечисления
DataRowState, можно получить записи с конкретным состоянием, например,
только удаленные (Deleted) или добавленные (Added).
При передаче изменений в базу данных отправка объекта DataSet, полу-
ченного в результате вызова метода GetChanges, позволяет уменьшить объем
трафика. В самом деле, отправка только внесенных изменений при прочих рав-
ных условиях займет меньше ресурсов, чем отправка полного объекта DataSet.
Это становится особенно важным при работе с большими объемами данных
или значительным числом подключений.
Метод GetChanges также применяется в качестве своеобразного сигналь-
ного флага, сообщающего, были ли затронуты данные. Реализовать такую про-
верку можно, например, при помощи следующего кода:
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{ DataSet ds = dataSet11.GetChanges();
if(ds == null) return;
if(MessageBox.Show("Вы хотите сохранить изменения в базе данных?",
"Завершение работы", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes) DataAdapter1.Update(ds);
}