Технология Microsoft ADO.NET



Объект DataRow - часть 3


 Вставка записи с одним значением null

Рис. 8.15.  Вставка записи с одним значением null

В программном обеспечении к курсу вы найдете приложение Programm DataRow (Code\Glava4\ ProgrammDataRow).

Конечно, вставка записей вручную в объект DataSet, не связанный с хранилищем данных, имеет не очень большой смысл. Поэтому давайте рассмотрим, как вставлять (и изменять) данные в уже загруженный кэш данных. Скопируйте папку проекта CustomExpression и переименуйте ее в WorkWithRow. Чтобы не тратить время на привязку действий к элементам управления, будем далее писать код после отображения данных в элементе DataGrid:

dataGrid1.DataSource = dsTours.Tables["Туры"].DefaultView;

Для изменения, например, пятой строки, мы указываем в свойстве Rows объекта dtTours ее индекс (4, нумерация начинается с нуля), затем вызываем метод BeginEdit для начала редактирования, устанавливаем группу свойств и в заключение принимаем изменения, вызывая метод EndEdit:

DataRow myRow=dtTours.Rows[4]; myRow.BeginEdit(); myRow["Код тура"] = 5; myRow["Название"] = "Турция"; myRow["Цена"] = "27000"; myRow["Информация"] = "Осенние скидки с 15 октября"; myRow.EndEdit();

Тот же самый результат мы получим с помощью свойства ItemArray:

DataRow myRow=dtTours.Rows[4]; myRow.BeginEdit(); myRow.ItemArray = new object[]{5,"Турция", 27000, null, null, "Осенние скидки с 15 октября"}; myRow.EndEdit();

Здесь мы установили для третьего и четвертого полей, которые являются вычисляемыми, значения null, подразумевая, что они останутся по умолчанию, а при запуске заполнятся своими значениями (рис. 8.16):

 Пропущенные вычисляемые поля заполняются своими значениями

Рис. 8.16.  Пропущенные вычисляемые поля заполняются своими значениями

Для удаления заданной записи нужно создать объект DataRow, которому передается индекс строки, а затем вызвать метод Remove свойства Rows объекта DataTable:

DataRow myRow2 = dtTours.Rows[0]; dtTours.Rows.Remove(myRow2);

Этого достаточно для удаления строки, но для того, чтобы пометить заданную строку как удаленную, вызываем метод Delete:

myRow2.Delete();

В результате у нас удалится строка (рис. 8.17), причем объект DataTable пометит ее в качестве удаленной - это необходимо, чтобы избежать ошибок (например, в связанных записях).

 Первая строка, имеющая индекс 0, была удалена

увеличить изображение
Рис. 8.17.  Первая строка, имеющая индекс 0, была удалена

В программном обеспечении к курсу вы найдете приложение WorkWith Row (Code\Glava4\ WorkWithRow).




Содержание  Назад  Вперед