Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 586
Эндрю Троелсен
carPetNameColumn.Caption = "Название";
}
Разрешение автоприращения для полей
Одной из возможностей DataColumn, которая может Вам понадобиться, будет возможность
Соответствующим поведением можно управлять с помощью свойств AutoIncrement, AutoIncrementSeed и AutoIncrementStep. Значение AutoIncrementSeed используется для начального значения столбца, а значение AutoIncrementStер задает число, которое следует добавить к AutoIncrementSeed, когда выполняется приращение. Рассмотрите следующую модификацию конструкции объекта carIDColumn типа DataColumn.
static void Main(sting[] args) {
…
DataColumn carIDColumn = new DataColumn("CarID", typeof(int));
carIDColumn.ReadOnly = true;
CarIDColumn.Caption = "Номер";
CarIDColumn.AllowDBNull = false;
carIDColumn.Unique = true;
carIDColumn.AutoIncrement = true;
carIDColumn.AutoIncrementSeed = 0;
catIDColumn.AutoIncrementStep = 1;
}
Здесь объект объект carIDColumn сконфигурирован так, чтобы при добавлении строк в соответствующую таблицу значение данного столбца увеличивалось на 1. Начальным значением является 0, поэтому для столбца будут выбираться числа 0, 1, 2. 3 и т.д.
Добавление DataColumn в DataTable
Тип DataColumn обычно не существует автономно, а добавляется в соответствующий объект DataTable.Для примера создайте новый тип DataTable (подробности будут предложены чуть позже) и вставьте объекты DataColumn в коллекцию) столбцов, используя свойство Columns.
static void Main(string[] args) {
…
// Добавление DataColumn в DataTable.
DataTable inventoryTable = new DataTable("Inventory");
inventoryTable.Columns.AddRange(new DataColumn[] {
carIDColumn; carMakeColumn, carColorColumn, carPetNameColumn
});
}
Работа с DataRow
Вы видели, что коллекция объектов DataColumn представляет структуру DataTable. Коллекция типов DataRow представляет фактические данные таблицы. Поэтому если у вас в таблице Inventory базы данных Cars содержится 20 записей, вы можете представить эти записи с помощью 20 типов DataRow. Используя члены класса DataRow, можно вставлять, удалять оценивать и перемещать значения таблицы. Описания некоторых (но не всех) членов типа DataRow предлагаются в табл. 22.12.
Таблица 22.12. Основные члены типа DataRow
Члены | Описание |
---|---|
HasErrors GetColumnsInError() GetColumnError() ClearErrors() RowError | Свойство HasErrors возвращает булево значение, являющееся индикатором наличия ошибок. В этом случае можно использовать метод GetColumnslnError(), чтобы получить информацию о членах, порождающих проблемы, метод GetColumnError(), чтобы получить описание ошибки, и метод ClearErrors(), удаляющий ошибки для данной строки. Свойство RowError позволяет задать текстовое описание ошибки для данной строки |
ItemArray | Свойство, возвращающее или устанавливающее значения для данной строки с помощью массива объектов |
RowState | Свойство, используемое для выяснения текущего "состояния" DataRow с помощью значений из перечня RowState |
Table | Свойство, используемое для получения ссылки на DataTable, содержащий данный объект DataRow |
AcceptChanges() | RejectChanges() Эти методы, соответственно, фиксируют или отвергают все изменения, сделанные в данной строке с момента последнего вызова AcceptChanges() |
BeginEdit() EndEdit() CancelEdit() | Эти методы, соответственно, начинают, завершают или отменяют операции редактирования для объекта DataRow |
Delete() | Метод, помечающий данную строку для удаления при вызове метода AcceptChanges() |
IsNull() | Метод, возвращающий значение-индикатор того, что данный столбец содержит значение null |