- •Атрибуты в среде .Net и языке c#.
- •Метаданные
- •Понятие атрибутов
- •Предопределенные и собственные атрибуты
- •Потребители атрибутов
- •Применение атрибутов
- •Сокращенное именование атрибутов
- •Создание собственных атрибутов:
- •Применение собственных атрибутов:
- •Ограничение использования атрибутов:
- •Атрибуты уровня сборки и модуля:
- •Рефлексия атрибутов:
- •Выводы:
- •Язык xml. Классы платформы .Net для работы с xml-данными.
- •Синтаксис xml
- •Работа с xml при помощи System.Xml
- •Работа с xml при помощи linq to xml
- •Выводы:
- •Потоковый ввод-вывод. Файлы. Работа с файлами и каталогами. Пространство имен System.Io
- •Классы Directory (DirectoryInfo) и File (FileInfo) Некоторые общие свойства классов DirectoryInfo и FileInfo:
- •Дополнительные возможности класса DirectoryInfo
- •Дополнительные возможности класса FileInfo
- •Дополнительные члены File
- •Потоковый ввод-вывод
- •Работа с классом FileStream
- •Работа с классами StreamWriter и StreamReader
- •Классы StringWriter и StringReader
- •Работа с классами BinaryWriter и BinaryReader
- •Выводы:
- •Сериализация. Атрибуты. Стандартные форматы сериализации. Понятие сериализации объектов
- •Роль графов объектов
- •Конфигурирование объектов для сериализации
- •Общедоступные поля, приватные поля и общедоступные свойства
- •Стандартные форматеры сериализации
- •Настройка сериализации с использованием атрибутов
- •Выводы:
- •Понятие бд и субд. Язык sql. Ado.Net как средство доступа из c# к субд. Понятие бд
- •Понятие субд
- •Обзор синтаксиса
- •Подключенный уровень
- •Автономный уровень
- •Основные свойства класса DataSet
- •Основные методы класса DataSet
- •Типы DataColumn и DataRow
- •Основные члены типа DataColumn:
- •Основные члены типа DataRow:
- •Работа с адаптерами данных:
- •Основные члены класса DbDataAdapter:
- •Параллельные вычисления. Многозадачность и многопоточность.
- •Некоторые члены класс Process:
- •Некоторые члены класса ProcessThread
- •Домены приложений
- •Некоторые члены класс AppDomain:
- •Многопоточность. Классификация состояний потока. Средства многопоточного программирования System.Threading.
- •Некоторые члены пространства имен System.Threading
- •Основные члены класс Thread
- •Состояния потока
- •Многопоточное программирование при помощи асинхронных вызовов делегатов
- •Создание вторичных потоков при помощи Thread.Start()
- •Синхронизация с помощью lock
- •Синхронизация с использованием типа System.Threading.Monitor
- •Синхронизация с использованием типа System.Threading.Interlocked
- •Синхронизация с использованием атрибута [Synchronization]
- •Использование System.Threading.Timer
- •Пул потоков clr
- •Библиотека Windows.Forms. Пространства имен. Структура приложения. Элементы управления. События. Иерархия элементов управления.
- •Основные пространства имен Windows Forms
- •Структура приложения WinForms
- •Элементы управления
- •События
- •Библиотека wpf. Отличия wpf от WindowsForms. Разметка xaml. Понятие Windows Presentation Foundation
- •Типы приложений wpf
- •Основные сборки wpf
- •Построение приложения wpf без xaml
- •Построение приложения wpf с использованием только xaml
- •Пример c# обработчика события для контрола, объявленного в xaml (связь кода и xaml):
- •Создание проекта
- •Знакомство с инструментами визуального конструктора wpf
Основные свойства класса DataSet
Tables |
Содержит коллекцию объектов DataTable |
Relations |
Коллекция объектов DataRelation, представляющих отношения между таблицами |
ExtendedProperties |
Коллекция произвольных пар имя/значение |
CaseSensitive |
Чувствительны ли к регистру букв сравнения строк в объектах DataTable |
DataSetName |
Задает понятное имя для данного DataSet |
EnforceConstraints |
Применяются ли правила ограничений при выполнении любых обновлений |
HasErrors |
Имеются ли ошибки в любой строке любого из объектов DataTable |
RemotingFormat |
Позволяет определить, как DataSet должен сериализовать свое содержимое (в виде двоичного файла или, по умолчанию, XML) |
Основные методы класса DataSet
Методы класса DataSet работают в сочетании с некоторыми функциями, которые обеспечивают описанные выше свойства. Кроме взаимодействия с потоками XML, DataSet содержит методы, позволяющие копировать содержимое DataSet, перемещаться между внутренними таблицами и устанавливать начальные и конечные точки пакетных обновлений.
Некоторые методы класса DataSet:
AcceptChanges() |
Отправляет все изменения, выполненные в данном DataSet после его загрузки или последнего вызова AcceptChanges() |
Сlеаr() |
Полностью очищает DataSet, удаляя все строки в каждом DataTable |
Clone() |
Клонирует структуру DataSet (включая все таблицы, отношения и ограничения) |
Сору() |
Копирует структуру и данные текущего DataSet |
GetChanges() |
Возвращает копию DataSet, содержащую все изменения, которые были выполнены после его загрузки или последнего вызова AcceptChanges(). У этого метода есть перегруженные варианты, которые позволяют получить только новые строки, только измененные строки или только удаленные строки |
HasChanges() |
Содержит ли DataSet изменения, т.е. новые, удаленные или измененные строки |
Merge() |
Объединяет данный DataSet с указанным DataSet |
ReadXml() |
Позволяет определить структуру объекта DataSet и заполнить его данными на основе XML-схемы и данных из потока |
RejectChanges() |
Отменяет все изменения, которые были выполнены в данном DataSet после его загрузки или последнего вызова AcceptChanges() |
WriteXm() |
Позволяет записать содержимое DataSet в поток |
Типы DataColumn и DataRow
Столбцы и строки таблиц представляются классами DataColumn и DataRow соответственно:
Основные члены типа DataColumn:
AllowDBNull |
Может ли данный столбец содержать NULL. По умолчанию true |
AutoIncrement AutoIncrementSeed AutoIncrementStep |
Настройка автоинкремента для данного столбца. |
Caption |
Заголовок, который должен отображаться для данного столбца. |
ColumnMapping |
Представление DataColumn при сохранении DataSet в виде XML. Столбец может быть записан как XML-элемент, XML-атрибут, текст, либо пропущен |
ColumnName |
Имя столбца из коллекции Columns (внутреннее представление в DataTable). Если не указать значение явно, то по умолчанию там находится слово "Column" с числовым суффиксом по (т.е. Column1, Column2, Column3, ...) |
DataType |
Тип данных столбца (логический, строковый, с плавающей точкой и т.д.) |
DefaultValue |
Значение по умолчанию, заносимое в данный столбец при вставке новых строк |
Ordinal |
Положение столбца в коллекции Columns, содержащейся в DataTable |
Readonly |
Предназначен ли данный столбец только для чтения после добавления строки в таблицу. По умолчанию равно false |
Table |
Получает объект DataTable, содержащий данный DataColumn |
Unique |
Указывает, должны ли быть уникальными значения во всех строках данного столбца. Для первичного ключа Unique должно содержать значение true |