Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 260

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 254 255 256 257 258 259 < 260 > 261 262 263 264 265 266 .. 320 >> Следующая

Еще один очень важный член класса DataRow — свойство ItemArray. Это свойство позволяет получить полный «ckhmoks* текущей строки в виде массива объектов типа Systeni.Object, Кроме того, при помощи этого свойства мы можем вставить в таблицу новую строку, не указывая явно значения для каждого столбца. Проиллюстрируем это примером. Предположим, что в нашей таблице есть два столбца -EmpID и firstName. Мы можем добавить новые строки, передавая массив объектов через свойство ItemArray:
// Объявляем массив
object [] myVals ' new object [2]:
DataRow dr;
//Создаем новые строки и их в DataRowCollection
for (int і - 0; 1 < 5; і++)
{
myVals[D] - і; IHyVaIs[I] - "Name " + 1: dr = myTable.NewRowO; dr. ItemArray - myVals: myTable.Rows.AddCdг):
j
Il А теперь выводим каждое из значений
foreach(DataRow г in myTable.Rows)
foreachPataColunvi c in itylatfle.Ccilunins)
{
Console.WriteLine(r[c])
Результат работы программы представлен на рис. 13.6.
* :D:\Documentt and EEKfJOl
U N.imr И Lid
N.ii'if j
(Чем 2 j М.ч1,.- 3 4 N.iiii: Л I'ress any key t.i colit і ihm:

Рис. 13.6. Применение свойства ItemArray Код приложения можно найти в подкаталоге Chapter 13.
Создаем объект DataTable 643
Тип DataTable
Класс DataTable используется для создания в оперативной памяти моделей табличных наборов данных. Мы можем создавать объекты DataTable программным образом, однако чаще в приложениях объект DataTable создается автоматически с помощью возможностей DataSet. и типов, определенных в пространствах имен System. Data. Ol elb и System. Data. SqIC 1 і ent. Наиболее важные свойства DataTabl е представлены в табл. 13.7.
Таблица 13.7. Свойства класса DataTable Свойство Описание
CaseSensitive Определяет, будет ли при сравнении символьных данных в таблице учитываться регистр символов. По умолчанию — false (не будет)
Child Relations Возвращает коллекцию подчиненных отношений (DataRelationColiection,} для объекта DataTable (если такие отношения есть)
Columns Возвращает набор столбцов для таблицы
Constraints Позволяет получить коллекцию ограничений, определенных в таблице
(Constraint-Collection)
DataSet Позволяет получить ссылку на объект DataSet, к которому принадлежит
данная таблица (если такой объект есть)
DefauitView Позволяет получить настроенное представление для таблицы, которое может
включать в себя, например, только некоторые выбранные пользователем столбцы или данные о положении курсора
MinimumCapacity Позволяет получить или установить исходное количество строк в таблице (по умолчанию используется значение 25)
ParentRclations Позволяет получить коллекцию родительских отношений для данного объекта
DataTable
Позволяет получить или установить массив столбцов, которые являются первичным ключом в таблице
Rows Возвращает набор строк, относящихся к таблице
TableName Позволяет получить имя таблицы или определить его. Значение для этого
свойства может быть установлено через конструктор для таблицы
Графическая схеманаиболее важныхкомпонентов DataTable представлена на рис. 13.7. Обратите внимание, что схема не имеет никакого отношения к иерархии классов (к примеру, класс DataRow не является классом, производным от PataRowCol lection). Эта схема представляет логические отношения «иметь» ("has а") между наиболее важными компонентами DataTable (например, объекты DataRow принадлежат к объекту DataRowCol lection).
Создаем объект DataTable
Теперь, когда мы познакомились с классом DataTable, следующая наша задача — создать полный объект DataTabl е и продемонстрировать возможности работы с этим объектом. Предположим, что наша цель — создать объект DataTable, представляющий список автомобилей в базе данных Cars. В нашей таблице Inventory будет четыре столбца: CarlD (идентификатор автомобиля), Make (модель), Color (цвет)
644 Глава 13 * Доступ к данным при помощи ADO.NET
DataTable

Data Ro wCo ltecl і оп
Можно получить доступ через свойство Rows
Data Row
DataColumnCol
Можно получить доступ через свойство Columns
DataColumn
I—>
ConstramtCol/ection
... j,.
Можно получить доступ I через свойство Constraints
Constraint
PrimaryKey
Рис. 13.7. Отношения компонентов DataTable
CarlD (РК) Make Color PetName
0 BMW Green Списку
1 Yugo White Tiny
2 Jeep Tan (null)
3 Caravan Pink Pain Inducer
Рис. 13.8. Таблица Inventory
Первое, что нужно сделать, — создать объект DatsTabl е. Очень удобно указать дружественное имя таблицы в качестве параметра конструктора. Это дружественное имя затем можно будет использовать, например, при обращении к нашей таблице из DataSet. Код для создания объекта DataTable в нашем случае будет выглядеть так:
и PetName (прозвище). Столбец C«гIO будет столбцом счетчика (то есть значения в нем будут увеличиваться автоматически), и, кроме того, он будет первичным ключом таблицы. Столбец PetName будет допускать значения типа NULL. To, как наша таблица может выглядеть, представлено на рис. 13.8.
Создаем объект DataTable 645
// Создаем объект DataTable
DataTable inventoryTable - new DataTableC"Inventory"):
Предыдущая << 1 .. 254 255 256 257 258 259 < 260 > 261 262 263 264 265 266 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100