Лекция 20. ADO.NET Отсоединенная модель доступа к данным.

Презентация:



Advertisements
Похожие презентации
Классы из пространства имен System.Data ObjectMarshalByValueComponentDataSetDataTableDataViewDataColumnDataRowDataRelationConstraintForeignKeyConstraintUniqueKeyConstraint.
Advertisements

ADO.NET Интегрированная среда разработки. ADO.NET Общая картина Все типы ADO.NET предназначены для выполнения одного набора задач: установить соединение.
Высокоуровневые методы информатики и программирования Лекция 28 Отсоединенный режим работы ADO.Net.
БАЗЫ ДАННЫХ ( ВВЕДЕНИЕ ). База данных это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором.
Высокоуровневые методы информатики и программирования Лекция 29 Типизированные классы Dataset.
Билет Табличные базы данных (БД): основные понятия (поле, запись, первичный ключ записи); типы данных. Системы управления базами данных и принципы.
Урок 3. Формы представления данных (таблицы, формы, запросы, отчеты)
Работа с таблицами в MS Access. Таблицы Единицей хранящейся в БД информации является таблица. Таблица представляет собой совокупность строк и столбцов,
Что такое связи между таблицами В реляционной базе данных связи позволяют избежать избыточности данных. Например, в ходе создания базы данных, содержащей.
Выполнение запросов, создание и редактирование отчета MS Access.
Технология хранения, поиска и сортировки информации в базах данных
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
Создание объектов баз данных. Создание таблицы в режиме Мастера таблиц Процесс создания объекта БД при помощи мастера делиться на несколько шагов, на.
Инструкция по созданию базы данных в Microsoft Access
Схема данных в Access Преподаватель: Французова Г.Н.
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Создание и заполнение баз данных Основные темы параграфа: типы и форматы полей; создание новой БД; заполнение БД информацией.
Модуль 1. Математические основы баз данных и знаний.
ДАЛЕЕ БАЗА ДАННЫХ ACCESS Проектирование базы данных Создание базы данных Создание базы данных без помощи мастера Таблицы Создание таблицы в режиме конструктора.
Лекция 6: Обзор компонентов 1. Списки ListBox и ComboBox 2. Компонент dataGridView 3. Компонент Timer 4. Диалоговые окна 5. Окна сообщений 6. Компонент.
Транксрипт:

Лекция 20. ADO.NET Отсоединенная модель доступа к данным

Присоединенная модель доступа к данным Создание соединения DbConnection Использование строки подключения Создание и настойка команды DbCommand. Использование параметров Выполнение команды ExecuteXXX Чтение данных с помощью DbDataReader Освобождение DbDataReader и закрытие соединения DbConnection

Отсоединенная модель доступа к данным Понятие отсоединенного уровня Основные типы DataSet DataTable DataColumn DataRow Адаптеры Типизированные DataSet Отображение данных с помощью DataGrid (WPF)

Моделирует в памяти реляционные данные из БД Работа с данными, как будто есть постоянное подключение к БД Этапы работы: Соединение с БД, получение данных Работа с данными: редактирование, удаление, добавление без необходимости подключения к БД Возможность отмены изменений Эффективное применение изменений данных в БД (открытие соединения, внесение только изменений в данных и закрытие соединения) Вся логика работы с БД вынесена в отдельный тип – адаптер (DbDataAdapter) Основные классы могут использоваться и без БД таблицы, столбцы, строки, отношения между таблицами Клиентскоеприложение DataSet БД Адаптер данных

DataSet – представляет реляционные данные в памяти DataTable – представляет таблицу с данными DataColumn – представляет схему таблицы DataRow – представляет строку в таблице. Содержит данные. DataRelation – отношение таблиц DbDataAdapter – адаптер данных. Поставляет данные из/в БД

Представляет реляционные данные в памяти Tables Свойство Tables содержит коллекцию таблиц DataTable Relations Свойство Relations содержит коллекцию отношений родительский/дочерний DataRelations между своими таблицами. Можно использовать навигацию между таблицами по отношениям. Свойство ExtendedProperties – представляет доп. информацию в виде пар имя/значение

DataSetName – имя экземпляра DataSet CaseSensitive – чувствительность к регистру при сравнении (false) EnforceConstraints – применяются ли правила ограничений (true) HasErrors – имеются ли ошибки в любой строке любой таблицы в этом DataSet RemotingFormat – как DataSet должен сериализоваться (XML)

RejectChanges() – отменяет все изменения в DataSet (сделанные после загрузки или после вызова AcceptChanges()) AcceptChanges() – применяет все изменения в DataSet HasChanges() – имеются ли изменения в DataSet GetChanges() – возвращает копию DataSet, содержащую только изменения Clear() – очищает DataSet от данных (структура сохраняется) Clone() / Copy() – копируют структуру / структуру и данные в новый DataSet ReadXml() / WriteXml() – чтение / запись DataSet в поток (только данные или структуру и данные)

Представляет таблицу с данными Обладает многими свойствами и методами аналогичными DataSet Columns Свойство Columns – содержит коллекцию колонок DataColumn Rows Свойство Rows – содержит коллекцию колонок DataRow

TableName – имя таблицы ChildRelations / ParentRelations – дочерние / родительские отношения для таблицы Constraints – коллекция ограничений в таблице PrimaryKey – массив столбцов – первичный ключ DataSet – ссылка на DataSet, которому принадлежит данная таблица (если есть) CaseSensitive, Copy, RemotingFormat и др. – аналогично DataSet

Представляет один столбец в DataTable схему Множество всех DataColumn в таблице представляют схему таблицы Определяет тип данных в колонке Может содержать набор ограничений: Первичный ключ Значение по умолчанию Уникальность Допустимость DBNull Разрешение только на чтение и др.

ColumnName – имя колонки Caption – отображаемый заголовок колонки DataType – тип данных в данном столбце AutoIncrement, AutoIncrementSeed, AutoIncrementStep – задание автоинкремента для колонки AllowDBNull – задает, могут ли содержаться пустые значения DefaultValue – задает значение по умолчанию Unique – указывает, что данные в столбец должен быть уникальным ReadOnly – указывает, что данные только для чтения Table – получает DataTable, содержащий данную колонку Ordinal – числовое положение колонки в коллекции колонок Columns

Представляет конкретные данные в таблице Нельзя создать без таблицы. Нет конструктора Создание с помощью dataRow = dataTable.NewRow(); Доступ к данным, содержащимся в строке с помощью индексатора по номеру или имени колонки Имеет состояния

Простой DataSet

RejectChanges() – отменяет все изменения в строке (сделанные после загрузки или после вызова AcceptChanges()) AcceptChanges() – применяет все изменения в строке Table – таблица, содержащая строку BeginEdit, EndEdit, CancelEdit – начало, окончание и отмена редактирования Delete – помечает строку для удаления HasErrors, GetColumnsInError, GetColumnError, ClearErrors, RowError – позволяют определить ошибки в данных RowState – состояние текущий строки

Added - добавлена Deleted - удалена Detached – не присоединена ни к одной таблице Modified - изменена Unchanged – неизменна По этим состояниям определяются изменения в таблицах и DataSet

Состояния строки

Классы DbDataAdapter SqlDataAdapter, OracleDataAdapter и т.д. Содержит команды: SelectCommand InsertCommand UpdateCommand DeleteCommand Метод Fill() – загружает данные в DataSet или таблицу Метод Update – обновляет данные в БД SqlCommandBuilder – помогает строить остальные команды по SelectCommand

Редактирование таблицы БД

Конкретное приложение работает с конкретной БД Известны типы столбцов Простой DataSet не типизирован Типизированный DataSet Автоматическая генерация по БД Типизация всех таблиц, полей и т.д. Удобные методы поиска Контроль типов на этапе компиляции

Состоит из: XML-схемы (описывает формат) C#-кода (используется в коде) Дополнительных адаптеров

Типизированный DataSet