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

UptoLike

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

137
Свойство RowState
При работе с данными приходится постоянно вносить изменения в записи
добавлять, редактировать или удалять. Объект DataRow обладает свойством
RowState, позволяющим отслеживать текущий статус строки.
Создадим новое приложение. В конструкторе формы мы создадим всего
одно поле, затем одну запись, статус которой будем отслеживать:
public Form1()
{
InitializeComponent();
DataTable dtTours = new DataTable("Туры");
DataColumn IDtour = new DataColumn("Код тура", typeof(Int32));
dtTours.Columns.Add(IDtour);
dataGrid1.DataSource = dtTours;
DataRow myRow;
// Создаем новую, отсоединенную запись
myRow = dtTours.NewRow();
richTextBox1.Text += Convert.ToString("Новая запись: " + myRow.RowState);
//Добавляем запись в объект DataTable
dtTours.Rows.Add(myRow);
richTextBox1.Text += Convert.ToString("\nДобавление записи: " + myRow.RowState);
//Принимаем все изменения в объекте DataTable
dtTours.AcceptChanges();
richTextBox1.Text += Convert.ToString("\nМетод AcceptChanges: " + myRow.RowState);
//Редактируем запись
myRow["Код тура"] = 1;
richTextBox1.Text += Convert.ToString("\nРедактирование строки: " + myRow.RowState);
//Удаляем строку
myRow.Delete();
richTextBox1.Text += Convert.ToString("\nУдаление: " + myRow.RowState);
//Отменяем все изменения в объекте DataTable
dtTours.RejectChanges();
richTextBox1.Text += Convert.ToString("\nМетод RejectChanges: " + myRow.RowState);
}
Запускаем приложение. В текстовое поле выводится статус записи myRow
(рис. 115).
Значение Detached означает, что запись не относится к объекту DataTable.
После добавления ее статус изменяется на Addedтеперь она существует в объ-
екте DataTable, но ее нет в базе данных. Конечно, здесь не рассматривается