Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему ADO.NET. Технологии доступа к данным ADO.NET. (Лекция 20)

Содержание

§1 Доступ к данным в ADO.NET
Часть II РЕАЛИЗАЦИЯ И ЭКСПЛУАТАЦИЯ БАЗ ДАННЫХ   Раздел V §1 Доступ к данным в ADO.NET ADO.NETADO.NET – новый этап в технологии ActiveXDataObjects. Эта модель доступа к данным Объектная модель ADO.NET Объектная модель ADO.NET Уровень данныхВ объектной модели ADO.NET можно выделить несколько уровней:Уровень Объектная модель ADO.NET Уровень управленияУровень управления. Это набор объектов, определяющих, с какой Объектная модель ADO.NET Уровень приложенияУровень приложения. Это набор объектов, позволяющих хранить и Классы ADO.NETADO.NET – это библиотека .NET классов, которые позволяют подсоединяться к данным Структура данных ADO.NETВ ADO.NET есть два основных способа, обеспечивающих взаимодействие приложения с Структура данных ADO.NET2.В качестве альтернативы можно работать непосредственно с базой данных. В §2 Соединение с источником данных Соединение с источником данныхДля перемещения данных между их постоянным хранилищем и приложением Жизненный цикл объекта ConnectionЖизненный цикл объекта Connection состоит из таких этапов как:объявление Объявление объекта соединенияСоздание соединения(Операторы создания объектов соединения помещаются в блок инициализации) Строка соединенияПервое свойство объекта соединения, которое необходимо определить в блоке инициализации для Строка соединения управляемого поставщика SQL ServerСтроки соединения управляемого поставщика SQL Server содержат Пример 1 строки соединения управляемого поставщика SQL ServerНапример, строка соединения с базой Строки соединения управляемого поставщика OLE DBСтроки соединения управляемого поставщика OLE DB похожи Пример 2  Строки соединения управляемого поставщика OLE DBНапример, строка соединения с Строка соединения управляемого поставщика ODBCСтроки соединения управляемого поставщика ODBC немного отличаются от Пример 3  Строки соединения управляемого поставщика ODBCНапример, строка соединения на основе Обработка ошибок в .NETДля перехвата исключений и их обработки в среде .NET Открытие и закрытие соединенияОбъекты Connection имеют два базовых метода для открытия и §2 Работа с объектом DataCommand Команда данныхДля выполнения основных задач, связанных с взаимодействием с базами данных, можно Действия объекта DataCommand С использованием объекта DataCommand в приложении можно выполнять следующие Действия объекта DataCommand Выполнять динамические SQL-команды, позволяющие модифицировать, вставлять или удалять записи Создание объекта DataCommandСуществует два основных способа создания объекта DataCommand. Типы командКоманда – мощный инструмент, позволяющий проводить сложные операции с базой данных. Типы командТип команды устанавливается в свойстве CommandType, которое по умолчанию имеет значение Методы выполнения командЗа подготовкой команды следует ее выполнение.  В ADO.NET существует Методы выполнения командExecuteScalar() – этот метод выполняет команду и возвращает первый столбец Использование метода ExecuteNonQuery() Использование метода ExecuteScalar() Пример вызова хранимой процедуры “MarkaNeisp”Если в приложении используется объект DataCommand, который работает §3 Отсоединенный набор данных DataSet Объект DataSetОбъект DataSet – это:набор информации, извлеченной из базы данных; доступ к Объект DataSetОбъект DataSet состоит из нескольких связанных друг с другом структур данных. Работа с объектом DataSetДанные, которые хранятся внутри объекта DataSet, содержат не только Выборка строкиПусть имеется набор данных с именем ds1 из таблицы «Автомобиль»Пример выборки Добавление строкиДля создания новой строки можно использовать соответствующие методы (NewRow() и Add() Удаление строкиПри использовании отсоединенных данных к удалению строки из коллекции предъявляется особое Изменение строкиИндексаторы класса DataRow позволяют установить новые значения столбцов строки, например: Однако Изменение строкиКак только будет вызван метод BeginEdit(), изменения перестанут отражаться на объекте §4 Объект DataAdapter Объект DataAdapterDataAdapter– один из важнейших объектов ADO.NET. Этот объект является посредником между Типы адаптеровВ ADO.NET имеется несколько типов адаптеров данных: Объекты DataAdapterКаждый объект DataAdapter обеспечивает обмен данными между одной таблицей источника данных Использование объекта DataAdapter для заполнения объекта DataSet даннымиОбъект DataAdapter является связующим звеном Основное предназначение объекта DataAdapter при заполнении объекта DataSetОбъект DataAdapter используется каждый раз, Заполнение объекта DataSetЕще одной важной задачей объекта DataAdapter является минимизация времени, в Заполнение объекта DataSetДля заполнения DataSet информацией из базы данных необходимо:Создать экземпляр класса Пример заполнения набора данных Sto §5 Объект CommandBuilder Класс CommandBuilderКласс CommandBuilder отвечает за генерацию запросов по мере возникновения необходимости в Функционирование объекта CommandBuilderДля того, чтобы гарантировать нормальное функционирование объекта CommandBuilder, необходимо учесть Пример использования объекта CommandBuilder: §6 Доступ к данным в Windows-формах Привязка данных в ADO.NETWindows-формы поддерживают два типа привязки данных. Для элементов управления, Сложная привязка данных к элементам управленияДля привязки данных к ComboBox необходимо определить значения трех его свойств: Сложная привязка данных к элементам управленияАналогично формируется привязка данных к объекту ListBox.Значение Примеры привязки данных к списку и раскрывающемуся списку соответственно: Особенности привязки данных к элементу управления DataGridОсобенность привязки данных к элементу управления §7 Пример создания Windows-приложения Постановка задачиПусть требуется создать программную систему, предназначенную для диспетчера станции техобслуживания. Такая Схема базы данных STO Внешний вид Windows-приложения может быть таким: Программный код подключения к БД STO: Программный код заполнения DataSet базы данных STO Продолжение Программный код вывода соответствующей таблицы  из DataSet базы данных STO Программный код внесения измененных данных из DataSet STO на сервер БД (см. рисунок, пункт 1): Программный код вывода содержимого всей таблице после фильтрации (см. рисунок, пункт 2): Программный код экспорта содержимого таблицы в XML  (см. рисунок, пункт 3): Экспорт содержимого таблицы Работник в XML  (см. рисунок, пункт 3): МПрограммный код экспорта содержимого таблицы в XSD (см. рисунок, пункт 4):Программный код Экспорт содержимого  таблицы Автомобиль в XSD  (см. рисунок, пункт 4): Экспорт содержимого таблицы Работник в XLS (см. рисунок, пункт 5): Перечень полученных отчетов Программный код запуска хранимой процедуры “MarkaNeisp” с параметром “Mar”, которая выводит неисправности указанной марки автомобиля: Текст хранимой процедуры MarkaNeisp Реализация хранимой процедуры MarkaNeisp Примеры фильтров
Слайды презентации

Слайд 2
§1 Доступ к данным в ADO.NET

§1 Доступ к данным в ADO.NET

Слайд 3 ADO.NET
ADO.NET – новый этап в технологии ActiveXDataObjects. Эта

ADO.NETADO.NET – новый этап в технологии ActiveXDataObjects. Эта модель доступа к

модель доступа к данным создана специально для использовании в

Web-приложениях.
Если раньше в ADO упор делался на постоянное соединение с базой данных, то в технологии использования ADO.NET изначально заложена возможность работы приложения в состоянии «разрыва» соединения с базой данных.


Слайд 4 Объектная модель ADO.NET

Объектная модель ADO.NET

Слайд 5 Объектная модель ADO.NET Уровень данных
В объектной модели ADO.NET можно

Объектная модель ADO.NET Уровень данныхВ объектной модели ADO.NET можно выделить несколько

выделить несколько уровней:
Уровень данных. Это по сути дела базовый

уровень, на котором располагаются сами данные (например, таблицы базы данных MS SQL Server). На данном уровне обеспечивается физическое хранение информации и манипуляция данными на уровне исходных таблиц (выборка, сортировка, добавление, удаление, обновление).

Слайд 6 Объектная модель ADO.NET Уровень управления
Уровень управления. Это набор объектов,

Объектная модель ADO.NET Уровень управленияУровень управления. Это набор объектов, определяющих, с

определяющих, с какой базой данных предстоит установить связь и

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



Слайд 7 Объектная модель ADO.NET Уровень приложения
Уровень приложения. Это набор объектов,

Объектная модель ADO.NET Уровень приложенияУровень приложения. Это набор объектов, позволяющих хранить

позволяющих хранить и отображать данные на компьютере конечного пользователя.


Для хранения информации используется объект DataSet, а для отображения данных имеется довольно большой набор элементов управления (DataGrid, TextBox, ComboBox, Label и т.п.).
В Visual Studio .Net можно вести разработку двух типов приложений, это:
традиционные Windows-приложения (на основе Windows-форм), которые реализованы в виде exe-файлов, запускаемых на компьютере пользователя;
Web-приложения (на основе Web-форм), которые работают в оболочке браузера.
Для хранения данных на уровне обоих типов приложений используется объект DataSet.


Слайд 8 Классы ADO.NET
ADO.NET – это библиотека .NET классов, которые

Классы ADO.NETADO.NET – это библиотека .NET классов, которые позволяют подсоединяться к

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

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

Слайд 9 Структура данных ADO.NET
В ADO.NET есть два основных способа,

Структура данных ADO.NETВ ADO.NET есть два основных способа, обеспечивающих взаимодействие приложения

обеспечивающих взаимодействие приложения с данными:
1. Использование набора данных (объект

DataSet);
работа непосредственно с элементами базы данных: таблицами, представлениями, хранимыми процедурами и т.п. (объект DataCommand).
В «отсоединенной» модели работы с данными на основе DataSet разработчик создает в памяти компьютера некоторое пустое хранилище, загружает его данными, используя адаптер данных (объект DataAdapter), работает с этой информацией (сортирует, фильтрует, изменяет), затем, по мере необходимости, через тот же адаптер данных, возвращает все изменения в исходную базу данных.

Слайд 10 Структура данных ADO.NET
2.В качестве альтернативы можно работать непосредственно

Структура данных ADO.NET2.В качестве альтернативы можно работать непосредственно с базой данных.

с базой данных.
В этой модели используется объект DataCommand,

в котором содержится SQL-запрос или имя хранимой процедуры. Команда запускается на выполнение, и если команда не возвращает результата (например, удаление записей), то все действия команды выполняются непосредственно над объектами базы данных (например, удаляется запись из таблицы). Если в результате работы команды из базы данных возвращается набор записей, то используется объект DataReader для выборки данных. В некоторых случаях задача вообще не решается путем использования набора данных. Например, если требуется создать объект базы данных (типа таблица), то это можно сделать только с помощью команд (объектов DataCommand).



Слайд 11
§2 Соединение с источником данных

§2 Соединение с источником данных

Слайд 12 Соединение с источником данных
Для перемещения данных между их

Соединение с источником данныхДля перемещения данных между их постоянным хранилищем и

постоянным хранилищем и приложением в первую очередь необходимо создать

соединение с источником данных (Connection). В арсенале ADO.NET для этих целей имеется ряд объектов:


Слайд 13 Жизненный цикл объекта Connection
Жизненный цикл объекта Connection состоит

Жизненный цикл объекта ConnectionЖизненный цикл объекта Connection состоит из таких этапов

из таких этапов как:
объявление объекта соединения;
создание объекта соединения;
определение

строки соединения;
использование соединения, например, для создания команды;
открытие соединения;
выполнение команды;
закрытие соединения.


Слайд 14
Объявление объекта соединения
Создание соединения
(Операторы создания объектов соединения помещаются в

Объявление объекта соединенияСоздание соединения(Операторы создания объектов соединения помещаются в блок инициализации)

блок инициализации)


Слайд 15 Строка соединения
Первое свойство объекта соединения, которое необходимо определить

Строка соединенияПервое свойство объекта соединения, которое необходимо определить в блоке инициализации

в блоке инициализации для установления связи с базой данных

– это строка соединения ConnectionString. В строке соединения управляемых поставщиков необходимо, как минимум, указать:
местоположение базы данных
требуемую аутентификационную информацию.

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


Слайд 16 Строка соединения управляемого поставщика SQL Server
Строки соединения управляемого

Строка соединения управляемого поставщика SQL ServerСтроки соединения управляемого поставщика SQL Server

поставщика SQL Server содержат множество параметров. Самыми распространенными из

них являются:


Слайд 17 Пример 1 строки соединения управляемого поставщика SQL Server
Например, строка

Пример 1 строки соединения управляемого поставщика SQL ServerНапример, строка соединения с

соединения с базой данных Students, расположенной на MS SQL

Server с именем (local) c Windows-авторизацией будет выглядеть следующим образом:



Слайд 18 Строки соединения управляемого поставщика OLE DB
Строки соединения управляемого

Строки соединения управляемого поставщика OLE DBСтроки соединения управляемого поставщика OLE DB

поставщика OLE DB похожи на строки соединения SQL Server.


Все параметры строки соединения, за исключением параметра Provider (Поставщик), определяются специфическим поставщиком OLEDB.
В качестве значений параметра Provider могут быть использованы такие значения как:


Слайд 19 Пример 2 Строки соединения управляемого поставщика OLE DB
Например,

Пример 2 Строки соединения управляемого поставщика OLE DBНапример, строка соединения с

строка соединения с базой данных Students, расположенной на MS

SQL Server с именем (local) c Windows-авторизацией будет выглядеть следующим образом и управлением поставщика OLE DB:


Слайд 20 Строка соединения управляемого поставщика ODBC
Строки соединения управляемого поставщика

Строка соединения управляемого поставщика ODBCСтроки соединения управляемого поставщика ODBC немного отличаются

ODBC немного отличаются от строк соединения SQL Server или

OLE DB.
Управляемый поставщик ODBC поддерживает два различных метода создания строки соединения:
Создание строки соединения на основе имени источника данных (DataSourceNameDSN);
Использование динамических строк соединения.
Использование DSN заключается в том, что каждый компьютер должен либо быть специально настроенным, либо иметь доступ к DSN-файлам. Использование DSN позволяет сохранить определенный контроль над строками соединения. Так, если меняется местоположение сервера или аутентификационная информация, разработчику придется изменить всего лишь атрибуты DSN, а не программный код. Атрибуты DSN можно использовать также для динамического генерирования информации о соединении. В этом случае параметры строки соединения, такие как DRIVER и SERVER, можно указать непосредственно в строке соединения, а не прятать их в атрибуте DSN.




Слайд 21 Пример 3 Строки соединения управляемого поставщика ODBC
Например, строка

Пример 3 Строки соединения управляемого поставщика ODBCНапример, строка соединения на основе

соединения на основе имени источника данных может выглядеть так:


А

динамическая строка соединения с тем же источником данных выглядит следующим образом:




Слайд 22
Обработка ошибок в .NET

Для перехвата исключений и их

Обработка ошибок в .NETДля перехвата исключений и их обработки в среде

обработки в среде .NET предусмотрена структура try-catch-finally:
При возникновении ошибки

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

Слайд 23

Открытие и закрытие соединения
Объекты Connection имеют два базовых

Открытие и закрытие соединенияОбъекты Connection имеют два базовых метода для открытия

метода для открытия и закрытия соединения (Open и Close)


Слайд 29
§2 Работа с объектом DataCommand


§2 Работа с объектом DataCommand

Слайд 30 Команда данных
Для выполнения основных задач, связанных с взаимодействием

Команда данныхДля выполнения основных задач, связанных с взаимодействием с базами данных,

с базами данных, можно использовать объекты команд.
Команда данных

содержит ссылку на SQL-запрос или хранимую процедуру, которые собственно и реализуют конкретные действия. Команда данных – это экземпляр класса:
System.Data.Odbc.OdbcCommand
или
System.Data.OleDb.OleDbCommand
или
System.Data.SqlClient.SqlCommand.


Слайд 31 Действия объекта DataCommand
С использованием объекта DataCommand в

Действия объекта DataCommand С использованием объекта DataCommand в приложении можно выполнять

приложении можно выполнять следующие действия:
Исполнять команды SELECT, которые возвращают

набор записей. Причем результат выборки можно обрабатывать непосредственно, без его загрузки в набор данных DataSet.
Выполнять команды, обеспечивающие создание, редактирование, удаление объектов базы данных (например, таблиц, хранимых процедур и т.п.).
Выполнять команды, обеспечивающие получение информации из баз данных в виде хранимых процедур.

Слайд 32 Действия объекта DataCommand
Выполнять динамические SQL-команды, позволяющие модифицировать,

Действия объекта DataCommand Выполнять динамические SQL-команды, позволяющие модифицировать, вставлять или удалять

вставлять или удалять записи непосредственно в базе данных, вместо

того, чтобы редактировать таблицы набора данных DataSet, а затем копировать эти изменения в базу данных.
Выполнять команды, которые возвращают скалярное, то есть единственное значение.
Выполнять команды, которые возвращают данные из базы данных SQL Server в формате XML. (Эта возможность используется в Интернет-приложениях.) Например, когда нужно выполнить запрос и получить данные в формате XML, чтобы преобразовать данные к HTML-формату и затем отправить их браузеру.



Слайд 33 Создание объекта DataCommand
Существует два основных способа создания объекта

Создание объекта DataCommandСуществует два основных способа создания объекта DataCommand.

DataCommand.


Слайд 34 Типы команд
Команда – мощный инструмент, позволяющий проводить сложные

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

операции с базой данных. В ADO.NET существует три типа

команд:
Text – текстовая команда состоит из SQL-инструкций, указывающих управляемому поставщику на необходимость выполнения определенных действий на уровне базы данных. Текстовые команды передаются в базу данных без предварительной обработки, за исключением случаев передачи параметров;
StoredProcedure – хранимая процедура; эта команда вызывает процедуру, которая хранится в самой базе данных;
TableDirect – команда такого типа предназначена для извлечения из базы данных полной таблицы.


Слайд 35 Типы команд
Тип команды устанавливается в свойстве CommandType, которое

Типы командТип команды устанавливается в свойстве CommandType, которое по умолчанию имеет

по умолчанию имеет значение Text, а сам текст команды

прописывается в свойстве CommandText.


Слайд 36 Методы выполнения команд
За подготовкой команды следует ее выполнение.

Методы выполнения командЗа подготовкой команды следует ее выполнение. В ADO.NET существует

В ADO.NET существует несколько способов выполнения команд, которые отличаются

лишь информацией, возвращаемой из базы данных.
Рассмотрим методы выполнения команд, поддерживаемые всеми управляемыми поставщиками:
ExecuteNonQuery() – этот метод применяется для выполнения команд, которые не должны возвращать результирующий набор данных. Так как при вызове данного метода возвращается число строк, добавленных, измененных или удаленных в результате выполнения команды, он может использоваться в качестве индикатора успешного выполнения команды;


Слайд 37 Методы выполнения команд
ExecuteScalar() – этот метод выполняет команду

Методы выполнения командExecuteScalar() – этот метод выполняет команду и возвращает первый

и возвращает первый столбец первой строки первого результирующего набора

данных. Данный метод может быть полезен для извлечения из базы данных итоговой информации; количества, максимального или минимального значения, итоговой суммы или среднего значения;
ExecuteReader() – этот метод выполняет команду и возвращает объект DataReader, представляющий собой однонаправленный поток записей базы данных.


Слайд 38

Использование метода ExecuteNonQuery()

Использование метода ExecuteNonQuery()

Слайд 39

Использование метода ExecuteScalar()

Использование метода ExecuteScalar()

Слайд 40 Пример вызова хранимой процедуры “MarkaNeisp”
Если в приложении используется

Пример вызова хранимой процедуры “MarkaNeisp”Если в приложении используется объект DataCommand, который

объект DataCommand, который работает непосредственно с элементами базы данных,

то выполняемые SQL-запросы и хранимые процедуры обычно требуют параметров.
Перед выполнением таких запросов необходимо определить значения параметров. Объект DataCommand поддерживает коллекцию Parameters. Прежде чем выполнить команду, необходимо установить значение для каждого параметра команды.

Слайд 41
§3 Отсоединенный набор данных DataSet

§3 Отсоединенный набор данных DataSet

Слайд 42 Объект DataSet
Объект DataSet – это:
набор информации, извлеченной из

Объект DataSetОбъект DataSet – это:набор информации, извлеченной из базы данных; доступ

базы данных; доступ к этому набору осуществляется в отсоединенном

режиме;
база данных, расположенная в памяти;
сложная реляционная структура данных со встроенной поддержкой XML-сериализации.
Роль объекта DataSet в ADO.NET заключается в предоставлении отсоединенного хранилища информации, извлеченной из базы данных, и в обеспечении для .NET возможностей базы данных, хранимой в памяти.
Объект DataSet – это коллекция структур данных, использующихся для организации отсоединенного хранилища информации.
Так как объект DataSet не связан с базой данных, его можно воспринимать как реляционное хранилище данных.



Слайд 43 Объект DataSet
Объект DataSet состоит из нескольких связанных друг

Объект DataSetОбъект DataSet состоит из нескольких связанных друг с другом структур

с другом структур данных. Концептуально он представляет собой полный

набор реляционной информации. Внутри объекта Dataset могут храниться пять объектов:
DataTable - набор данных, организованный в столбцы и строки;
DataRow– коллекция данных, которая представляет собой одну строку таблицы DataTable, объект DataRow является фактическим хранилищем данных;
DataColumn – коллекция правил, описывающая данные, которые можно хранить в объектах DataRow;
Constraint – данный объект используется для определения бизнес – правил объекта DataTable и задает допустимость хранения определенных данных в объекте DataTable;
DataRelation –описание связей между объектами DataTable.


Слайд 44 Работа с объектом DataSet
Данные, которые хранятся внутри объекта

Работа с объектом DataSetДанные, которые хранятся внутри объекта DataSet, содержат не

DataSet, содержат не только информацию, необходимую для поддержки отсоединенного

кэша базы данных, но также предоставляют возможность перемещаться по нему как по некоторой иерархической структуре.
Основным предназначением объекта DataSet является хранение и изменение данных.
Объекты DataRow являются основным хранилищем данных внутри объекта DataSet. Объект DataRow содержит массив значений, представляющих собой строку объекта DataTable. Объекты DataRow доступны из объекта DataTable через свойство Rows.


Слайд 45 Выборка строки
Пусть имеется набор данных с именем ds1

Выборка строкиПусть имеется набор данных с именем ds1 из таблицы «Автомобиль»Пример

из таблицы «Автомобиль»

Пример выборки данных из объекта DataSet по

номеру строки в текстовые поля:

Слайд 46 Добавление строки
Для создания новой строки можно использовать соответствующие

Добавление строкиДля создания новой строки можно использовать соответствующие методы (NewRow() и

методы (NewRow() и Add() ) объекта DataTable.
Следует отметить,

что метод NewRow() сам по себе не добавляет строку в объект DataTable. Для этого необходимо вызвать метод Add(), передав ему в качестве параметра объект строки.


Пример добавления строки в объект DataSet:


Слайд 47 Удаление строки
При использовании отсоединенных данных к удалению строки

Удаление строкиПри использовании отсоединенных данных к удалению строки из коллекции предъявляется

из коллекции предъявляется особое требование: строка должна продолжать существовать

до тех пор, пока хранилище данных не будет обновлено с помощью объекта DataSet. Удаление строки может быть осуществлено, например, с помощью метода Delete() объекта DataRow. В этом случае строка удаляет себя сама.

Пример удаления строки :


Слайд 48 Изменение строки
Индексаторы класса DataRow позволяют установить новые значения

Изменение строкиИндексаторы класса DataRow позволяют установить новые значения столбцов строки, например:

столбцов строки, например:


Однако при определении нового значения столбца

объект DataRow сгенерирует исключение в том случае, если это значение будет конфликтовать со свойством DataType объекта DataColumn.
Существуют ситуации, в которых изменения в конкретную строку DataRow необходимо вносить параллельно. Обычно это делается тогда, когда одно изменение приводит к нарушению некоторого ограничения или когда необходимо иметь возможность отмены изменений перед их внесением в базу данных. В этом случае используются методы BeginEdit(), EndEdit() и CancelEdit() класса DataRow.


Слайд 49 Изменение строки
Как только будет вызван метод BeginEdit(), изменения

Изменение строкиКак только будет вызван метод BeginEdit(), изменения перестанут отражаться на

перестанут отражаться на объекте DataRow до тех пор, пока

не будет вызван метод EndEdit(). Если внесенные изменения окажутся ошибочными, можно вызвать метод CancelEdit(), который вернет строку в первоначальное состояние (состояние, в котором она находилась до вызова метода BeginEdit()).

Пример изменения строки:


Слайд 50
§4 Объект DataAdapter


§4 Объект DataAdapter

Слайд 51 Объект DataAdapter
DataAdapter– один из важнейших объектов ADO.NET. Этот

Объект DataAdapterDataAdapter– один из важнейших объектов ADO.NET. Этот объект является посредником

объект является посредником между источником данных и набором данных

DataSet.
В приложениях DataAdapter обеспечивает считывание информации из базы данных и пересылку ее в DataSet, возврат изменений, сделанных пользователем, в исходную базу данных.
Задача модификации данных решается через использование команд на основе SQL-запросов и хранимых процедур.

Схема функционирования объекта DataAdapter

Схема функционирования

DataAdapter

Схема функционирования

DataAdapter


Слайд 52 Типы адаптеров
В ADO.NET имеется несколько типов адаптеров данных:

Типы адаптеровВ ADO.NET имеется несколько типов адаптеров данных:

Слайд 53 Объекты DataAdapter
Каждый объект DataAdapter обеспечивает обмен данными между

Объекты DataAdapterКаждый объект DataAdapter обеспечивает обмен данными между одной таблицей источника

одной таблицей источника данных (базы данных) и одним объектом

DataTable в наборе данных DataSet.
Если DataSet содержит несколько таблиц (объектов DataTable), то необходимо иметь и несколько адаптеров данных.
Когда требуется заполнить данными таблицу в DataSet, вызывается соответствующий метод (Fill) объекта DataAdapter, который выполняет SQL-запрос или хранимую процедуру.
Точно также, когда необходимо модифицировать базу данных, вызывается соответствующий метод (Update) объекта DataAdapter, который вызывает на исполнение соответствующий SQL-запрос или хранимую процедуру. В результате этого все изменения, внесенные пользователем в таблицы набора данных, будут возвращены в соответствующие таблицы базы данных.


Слайд 54 Использование объекта DataAdapter для заполнения объекта DataSet данными
Объект

Использование объекта DataAdapter для заполнения объекта DataSet даннымиОбъект DataAdapter является связующим

DataAdapter является связующим звеном между объектом DataSet и хранилищем

данных.
С помощью объекта DataAdapter можно заполнить объект DataSet информацией из хранилища данных, а также обновлять хранилище данных на основе объекта DataSet.
Объект DataAdapter состоит из четырех объектов Command, каждый из которых выполняет определенную задачу по модификации данных в базе данных:
SelectCommand,
InsertCommand,
UpdateCommand
DeleteCommand.

Слайд 55 Основное предназначение объекта DataAdapter при заполнении объекта DataSet
Объект

Основное предназначение объекта DataAdapter при заполнении объекта DataSetОбъект DataAdapter используется каждый

DataAdapter используется каждый раз, когда объект DataSet нуждается в

непосредственном взаимодействии с источником данных.
Один из наиболее важных моментов заключается в том, что объект DataAdapter содержит объекты Command для каждой из основных операций, производимых над базами данных.
Основное предназначение объекта DataAdapter заключается в формировании «моста» между объектом DataSet и базой данных.


Слайд 56 Заполнение объекта DataSet
Еще одной важной задачей объекта DataAdapter

Заполнение объекта DataSetЕще одной важной задачей объекта DataAdapter является минимизация времени,

является минимизация времени, в течение которого соединение будет оставаться

открытым.
При использовании объекта DataAdapter явного открытия или закрытия соединения не происходит.
DataAdapter знает, что соединение должно быть как можно более коротким, и самостоятельно управляет его открытием и закрытием.
Если использовать объект DataAdapter совместно с уже открытым соединением, то состояние соединения будет сохранено.


Слайд 57 Заполнение объекта DataSet
Для заполнения DataSet информацией из базы

Заполнение объекта DataSetДля заполнения DataSet информацией из базы данных необходимо:Создать экземпляр

данных необходимо:
Создать экземпляр класса DataAdapter, который является специализированным классом,

выполняющим функцию контейнера для команд, осуществляющих чтение и запись информации в базу данных;
Создать экземпляр класса DataSet; только что созданный объект DataSet является пустым;
Вызвать метод Fill() объекта DataAdapter для заполнения объекта DataSet данными из запроса, определенного в объекте Command.


Слайд 58

Пример заполнения набора данных Sto

Пример заполнения набора данных Sto

Слайд 59
§5 Объект CommandBuilder

§5 Объект CommandBuilder

Слайд 60 Класс CommandBuilder
Класс CommandBuilder отвечает за генерацию запросов по

Класс CommandBuilderКласс CommandBuilder отвечает за генерацию запросов по мере возникновения необходимости

мере возникновения необходимости в них в объекте DataAdapter.
Каждый

управляемый поставщик содержит собственную реализацию класса CommandBuilder (SqlCommandBuilder, OleDbCommandBuilder, OdbcCommandBuilder).
После создания объекта CommandBuilder его необходимо передать в конструктор объекта DataAdapter. Как только объект CommandBuilder узнает об объекте DataAdapter, он использует свойство DataAdapter.
SelectCommand, чтобы получить информацию о столбцах объекта DataTable и иметь возможность создать команды вставки, обновления и удаления данных.

Слайд 61 Функционирование объекта CommandBuilder
Для того, чтобы гарантировать нормальное функционирование

Функционирование объекта CommandBuilderДля того, чтобы гарантировать нормальное функционирование объекта CommandBuilder, необходимо

объекта CommandBuilder, необходимо учесть несколько моментов.
Свойство DataAdapter.SelectCommand должно содержать

действительную команду, которая использовалась для заполнения обновляемого объекта DataTable.
Объект CommandBuilder применяет SQL- оператор SELECT для того, чтобы иметь возможность создавать операторы вставки, обновления и удаления данных.
Таблица DataTable, которая будет обновляться, должна либо содержать столбец уникальных значений, либо для нее должен быть определен первичный ключ.


Слайд 62

Пример использования объекта CommandBuilder:

Пример использования объекта CommandBuilder:

Слайд 63
§6 Доступ к данным в Windows-формах

§6 Доступ к данным в Windows-формах

Слайд 64 Привязка данных в ADO.NET
Windows-формы поддерживают два типа привязки

Привязка данных в ADO.NETWindows-формы поддерживают два типа привязки данных. Для элементов

данных.
Для элементов управления, содержащих единственное значение (таких, как

TextBox, CheckBox и т.п.), Windows–формы поддерживают простую привязку данных,
Для элементов управления, содержащих несколько значений (таких, как ListBox, ComboBox, DataGrid и т.п.) – сложную привязку данных.
Далее рассмотрим некоторые из них.


Слайд 65 Сложная привязка данных к элементам управления
Для привязки данных

Сложная привязка данных к элементам управленияДля привязки данных к ComboBox необходимо определить значения трех его свойств:

к ComboBox необходимо определить значения трех его свойств:



Слайд 66 Сложная привязка данных к элементам управления
Аналогично формируется привязка

Сложная привязка данных к элементам управленияАналогично формируется привязка данных к объекту

данных к объекту ListBox.
Значение поля, указанного в свойстве элемента

управления ValueMember, соответствующее выбранному пользователем элементу, хранится в свойстве SelectValue элемента управления ListBox или ComboBox. Оно отличается от значения свойства SelectItem, которое хранит значение поля, указанного в свойстве DisplayMember.

Слайд 67

Примеры привязки данных к списку и раскрывающемуся списку

Примеры привязки данных к списку и раскрывающемуся списку соответственно:

соответственно:


Слайд 68 Особенности привязки данных к элементу управления DataGrid
Особенность привязки

Особенности привязки данных к элементу управления DataGridОсобенность привязки данных к элементу

данных к элементу управления DataGrid заключается в том, что

разработчик имеет дело с более обширным множеством данных.
Элемент управления DataGrid позволяет установить значение свойства DataSource равным фактическому источнику данных (такому, как объект DataTable, DataSet, DataView и т.п.). Если изменить значение свойства DataSource на этапе выполнения, оно вступит в силу только после перезагрузки элемента управления DataGrid, осуществляемой с помощью метода DataDrid.SetDataBinding().
В качестве параметров метод SetDataBinding() принимает новые значения свойств DataSource и DataMember. Значение свойства DataMember – это именованная сущность, с которой будет связан элемент управления DataGrid.


Слайд 69
§7 Пример создания Windows-приложения

§7 Пример создания Windows-приложения

Слайд 70 Постановка задачи
Пусть требуется создать программную систему, предназначенную для

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

диспетчера станции техобслуживания. Такая система должна обеспечить хранение данных

об:
услугах, оказываемых станцией и их стоимости;
клиентах станции, сдающих свои автомобили на ремонт;
автомобилях клиентов;
работниках станции.
Также в программной системе должны быть реализованы следующие функции:
поиск,
фильтрация данных,
добавление таблицы из приложения,
экспорт данных в XML, XLS.


Слайд 71 Схема базы данных STO

Схема базы данных STO

Слайд 72
Внешний вид Windows-приложения может быть таким:

Внешний вид Windows-приложения может быть таким:

Слайд 73

Программный код подключения к БД STO:

Программный код подключения к БД STO:

Слайд 74

Программный код заполнения DataSet базы данных STO

Программный код заполнения DataSet базы данных STO

Слайд 75

Продолжение

Продолжение

Слайд 76

Программный код вывода соответствующей таблицы из DataSet базы

Программный код вывода соответствующей таблицы из DataSet базы данных STO

данных STO


Слайд 77

Программный код внесения измененных данных из DataSet STO

Программный код внесения измененных данных из DataSet STO на сервер БД (см. рисунок, пункт 1):

на сервер БД (см. рисунок, пункт 1):


Слайд 78

Программный код вывода содержимого всей таблице после фильтрации

Программный код вывода содержимого всей таблице после фильтрации (см. рисунок, пункт 2):

(см. рисунок, пункт 2):


Слайд 79

Программный код экспорта содержимого таблицы в XML (см.

Программный код экспорта содержимого таблицы в XML (см. рисунок, пункт 3):

рисунок, пункт 3):


Слайд 80
Экспорт содержимого таблицы Работник в XML (см. рисунок,

Экспорт содержимого таблицы Работник в XML (см. рисунок, пункт 3):

пункт 3):


Слайд 81 М

Программный код экспорта содержимого таблицы в XSD (см. рисунок,

МПрограммный код экспорта содержимого таблицы в XSD (см. рисунок, пункт 4):Программный

пункт 4):
Программный код экспорта содержимого таблицы в XLS (см. рисунок,

пункт 5):



Слайд 82
Экспорт содержимого таблицы Автомобиль в XSD (см. рисунок,

Экспорт содержимого таблицы Автомобиль в XSD (см. рисунок, пункт 4):

пункт 4):


Слайд 83

Экспорт содержимого таблицы Работник в XLS (см. рисунок, пункт

Экспорт содержимого таблицы Работник в XLS (см. рисунок, пункт 5):

Слайд 84 Перечень полученных отчетов

Перечень полученных отчетов

Слайд 85

Программный код запуска хранимой процедуры “MarkaNeisp” с параметром

Программный код запуска хранимой процедуры “MarkaNeisp” с параметром “Mar”, которая выводит неисправности указанной марки автомобиля:

“Mar”, которая выводит неисправности указанной марки автомобиля:


Слайд 86 Текст хранимой процедуры MarkaNeisp

Текст хранимой процедуры MarkaNeisp

Слайд 87 Реализация хранимой процедуры MarkaNeisp

Реализация хранимой процедуры MarkaNeisp

  • Имя файла: adonet-tehnologii-dostupa-k-dannym-adonet-lektsiya-20.pptx
  • Количество просмотров: 137
  • Количество скачиваний: 0