Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2007 г.

Основы ADO .NET
Лекция из курса «Введение в программирование на C# 2.0»

Марченко Антон Леонардович
Интернет-Университет Информационных Технологий, INTUIT.ru

Назад Оглавление Вперёд

DataColumns

DataColumnCollection задает схему таблицы, определяя тип данных каждой колонки.

В классе DataTable объявлено get-свойство DataColumns, с помощью которого может быть получена коллекция принадлежащих таблице столбцов.

 public DataColumnCollection Columns {get;}

Возвращается коллекция объектов – представителей класса DataColumn таблицы. Если у объекта-таблицы нет столбцов, возвращается null.

Объекты – представители класса DataColumn образуют набор DataColumns, который является обязательным элементом каждого объекта – представителя класса DataTable.

Эти объекты соответствуют столбцам таблицы, представленной объектом – представителем класса DataTable.

Объект DataColumn содержит информацию о структуре столбца (метаданные). Например, у этого объекта имеется свойство Type, описывающее тип данных столбца.

Также имеются свойства

  • ReadOnly,
  • Unique,
  • Default,
  • AutoIncrement,

которые, в частности, позволяют ограничить диапазон допустимых значений поля и определить порядок генерации значений для новых данных.

Объект DataColumn представляет тип колонки в DataTable. Это стандартный блок, предназначенный для построения схемы DataTable.

Каждый объект DataColumn как элемент схемы характеризуется собственным типом, определяющим тип значений, которые DataColumn содержит.

Если объект DataTable создается как отсоединенное хранилище информации, представляющее таблицу базы данных, тип столбца объекта-таблицы должен соответствовать типу столбца таблицы в базе данных.

DataRows

СОДЕРЖИМОЕ таблицы (непосредственно данные) задается набором DataRows – это конкретное множество строчек таблицы, каждая из которых является объектом – представителем класса DataRow.

Его методы и свойства представлены в таблице.

Свойства
HasErrorsВозвращает значение, показывающее, есть ли ошибки в строке
ItemПерегружен. Возвращает или задает данные, сохраненные в указанном столбце.

В языке C# это свойство является индексатором класса DataRow

ItemArray Возвращает или задает все значения для этой строки с помощью массива
RowError Возвращает или задает пользовательское описание ошибки для строки
RowState Возвращает текущее состояние строки по отношению к DataRowCollection
Table Возвращает объект DataTable, содержащий данную строку
Методы
AcceptChangesСохраняет все изменения, сделанные с этой строкой со времени последнего вызова AcceptChanges
BeginEdit Начинает операцию редактирования объекта DataRow
CancelEdit Отменяет текущее редактирование строки
ClearErrors Удаляет ошибки в строке, включая RowError и ошибки, установленные SetColumnError
Delete Удаляет DataRow
EndEdit Прекращает редактирование строки
Equals (унаследовано от Object)Перегружен. Определяет, равны ли два экземпляра Object
GetChildRows Перегружен. Возвращает дочерние строки DataRow
GetColumnError Перегружен. Возвращает описание ошибки для столбца
GetColumnsInError Возвращает массив столбцов, имеющих ошибки
GetHashCode (унаследовано от Object) Служит хэш-функцией для конкретного типа, пригоден для использования в алгоритмах хэширования и структурах данных, например в хэш-таблице
GetParentRow Перегружен. Возвращает родительскую строку DataRow
GetParentRows Перегружен. Возвращает родительские строки DataRow
GetType (унаследовано от Object)Возвращает Type текущего экземпляра
HasVersion Возвращает значение, показывающее, существует ли указанная версия
IsNull Перегружен. Возвращает значение, показывающее, содержит ли нулевое значение указанный столбец
RejectChanges Отменяет все значения, выполненные со строкой после последнего вызова AcceptChanges
SetColumnError Перегружен. Устанавливает описание ошибки для столбца
SetParentRow Перегружен. Устанавливает родительскую строку DataRow
ToString (унаследовано от Object) Возвращает String, который представляет текущий Object
Защищенные методы
Finalize (унаследовано от Object) Переопределен. Позволяет объекту Object попытаться освободить ресурсы и выполнить другие завершающие операции, перед тем как объект Object будет уничтожен в процессе сборки мусора.

В языках C# и C++ для функций финализации используется синтаксис деструктора

MemberwiseClone (унаследовано от Object) Создает неполную копию текущего Object
SetNullУстанавливает значение указанного DataColumn на нулевое

Элементы этого набора являются объектами класса DataRow. В этом классе обеспечивается несколько вариантов реализации свойства Item, которые обеспечивают навигацию по множеству записей объекта DataTable и сохранение текущих изменений данных, сделанных за текущий сеанс редактирования базы.

Посредством набора Rows реализуется возможность ссылки на любую запись таблицы. К любой записи можно обратиться напрямую, и поэтому не нужны методы позиционирования и перемещения по записям таблицы.

В примере используются различные варианты индексации. По множеству строк позиционирование проводится по целочисленному значению индекса. Выбор записи в строке производится по строковому значению, которое соответствует имени столбца.

Пример:

 private void PrintValues(DataTable myTable)
 {
 // Для каждой строки, которая входит в состав коллекции
 // строк объекта таблицы...
 foreach(DataRow myRow in myTable.Rows)
 {
 // Для каждой ячейки (столбца) в строке...   
       foreach(DataColumn myCol in myTable.Columns)
       {
        // Выдать на консоль ее значение! 
        Console.WriteLine(myRow[myCol]);
        }
     }
  }

Назад Оглавление Вперёд

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...