Developer Days 2001 ADO.NET в деталях Санкт-ПетербургКиев Александр ЛожечкинНиколай Мастило Digital DesignКвазар-Микро Екатеринбург Михаил Сидоров CIFT.

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



Advertisements
Похожие презентации
ADO.NET Интегрированная среда разработки. ADO.NET Общая картина Все типы ADO.NET предназначены для выполнения одного набора задач: установить соединение.
Advertisements

РЭУБД РЭУБД ADO (Microsoft ActiveX Data Object )
ADO.NET Технология доступа к данным платформы Microsoft.NET.
Использование XML Тема 4*. Слайд 2. Настройка свойств dataSet1.
Департамент образования и науки Тюменской области Государственное автономное профессиональное образовательное учреждение Тюменской области «Западно-Сибирский.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Школьная форма Презентация для родительского собрания.
Лекция 20. ADO.NET Отсоединенная модель доступа к данным.
Michael Jackson
Лекция 19. ADO.NET. Сервера баз данных: MS SQL Server, Oracle, MySQL, DB2, Foxpro, FireBird, PostgreSQL, … Хранят данные в виде таблиц Хранят отношение.
Масштаб 1 : 5000 Приложение 1 к решению Совета депутатов города Новосибирска от _____________ ______.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Разработал: Учитель химии, биологии высшей квалификационной категории Баженов Алексей Анатольевич.
1. Определить последовательность проезда перекрестка
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Высокоуровневые методы информатики и программирования Лекция 29 Типизированные классы Dataset.
Объектный доступ к Cache из среды.NET Александр Харитонов, InterSystems.
Программный доступ к XML DOM, SAX,.NET среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Г. Москва, тел.: +7 (495) , Internet: Слайды курса «Администрирование работы на сервере.
Разработка приложений для работы с БД На примере PHP и ASP.Net.
Транксрипт:

Developer Days 2001 ADO.NET в деталях Санкт-ПетербургКиев Александр ЛожечкинНиколай Мастило Digital DesignКвазар-Микро Екатеринбург Михаил Сидоров CIFT

Технология доступа к данным ADO.NET 2 ADO.NET в деталях О чем этот доклад: Различия между ADO и ADO.NET Различия между ADO и ADO.NET Как использовать ADO.NET в.NET приложениях на Visual Studio.NET Как использовать ADO.NET в.NET приложениях на Visual Studio.NET Как использовать дополнительные возможности ADO.NET Как использовать дополнительные возможности ADO.NET Как получить максимум от поддержки XML в ADO.NET Как получить максимум от поддержки XML в ADO.NET

Технология доступа к данным ADO.NET 3 ADO.NET в деталях Необходимые знания Теория реляционных БД и их использования Теория реляционных БД и их использования Программирование на Visual Basic 6.0 / C++ Программирование на Visual Basic 6.0 / C++ Microsoft ADO Microsoft ADO Понимание технологий XML Понимание технологий XML

Технология доступа к данным ADO.NET 4 ADO.NET в деталях Содержание Введение в ADO.NET Введение в ADO.NET Программирование ADO.NET Программирование ADO.NET Поддержка XML Поддержка XML Дополнительные возможности Дополнительные возможности Практики использования Практики использования

Технология доступа к данным ADO.NET 5 ADO.NET в деталях Введение в ADO.NET Что такое ADO.NET? Эволюция ADO Эволюция ADO Взаимодействие Взаимодействие Основанное на стандартах XML, XSD Основанное на стандартах XML, XSD Масштабируемость Масштабируемость Распределенные приложения и отсоединенные данные Распределенные приложения и отсоединенные данные Модель Модель Распределенная архитектура – на смену клиент- серверной модели Распределенная архитектура – на смену клиент- серверной модели Интеграция данных от гетерогенных источников Интеграция данных от гетерогенных источников

Технология доступа к данным ADO.NET 6 ADO.NET в деталях Введение в ADO.NET Почему ADO.NET? Чтобы соответствовать модели Web- приложений Чтобы соответствовать модели Web- приложений Слабо связанных Слабо связанных Сохраняющих состояние между запросами Сохраняющих состояние между запросами Использующих HTTP Использующих HTTP

Технология доступа к данным ADO.NET 7 ADO.NET в деталях Введение в ADO.NET Управление данными Managed Provider DataReader Command Connection Sync Средствапрограммирования, Элементы управления DataSet XmlReader XmlText-ReaderXmlNode-Reader XSL/T, X-Path, валидирование, и т.д. XmlData- Document DataAdapter

Технология доступа к данным ADO.NET 8 ADO.NET в деталях Введение в ADO.NET Сравнение ADO и ADO.NET ВозможностьADOADO.NET Представление данных в памяти RecordSet может содержать только одну таблицу DataSet может содержать одну или несколько связанных таблиц Связь между таблицами Только через запрос JOIN Поддерживает связи через объект DataRelation Доступ к данным Последовательный доступ к строкам в RecordSet Произвольная навигация Отсоединенный доступ Поддерживается через RecordSet Соединение через стандартные вызовы DataAdapter

Технология доступа к данным ADO.NET 9 ADO.NET в деталях Введение в ADO.NET Сравнение ADO и ADO.NET ВозможностьADOADO.NET Программируе- мость Использует строковое представление команд Типизированное программирование (использование схемы XML) Передача отсоединенных данных Только через COM- маршалинг Передает DataSet через XML файл Передача данных через брандмауэр Проблематично XML беспрепятственно передается Масштабируе-мость Использование длительного блокирования БД через постоянное соединение Отсоединенный доступ без блокировок

Технология доступа к данным ADO.NET 10 ADO.NET в деталях Содержание Введение в ADO.NET Введение в ADO.NET Программирование ADO.NET Программирование ADO.NET Поддержка XML Поддержка XML Дополнительные возможности Дополнительные возможности Практики использования Практики использования

Технология доступа к данным ADO.NET 11 ADO.NET в деталях Программирование ADO.NET Managed Providers Управление доступом Управление доступом Аналог слоя OLE DB Аналог слоя OLE DB Непосредственный доступ Непосредственный доступ Простой Простой Специализирован для источника Специализирован для источника Объектная модель Объектная модель Connection Connection Command Command DataReader DataReader

Технология доступа к данным ADO.NET 12 ADO.NET в деталях Программирование ADO.NET Connection Предоставляет соединение с источником данных Предоставляет соединение с источником данных С помощью Connection можно: С помощью Connection можно: Управлять соединением с БД Управлять соединением с БД Управлять транзакциями Управлять транзакциями Аналог ADODB.Connection Аналог ADODB.Connection

Технология доступа к данным ADO.NET 13 ADO.NET в деталях Программирование ADO.NET Connection // Пример на C# // Указываем пространство имен System.Data.SQL Using System.Data.SqlClient; // Создаем экземпляр SQLConnection SQLConnection cnn = new SQLConnection(); // Устанавливаем ConnectionString cnn.ConnectionString = "server=localhost;uid=sa;database=pubs"; // Открываем соединение cnn.Open();

Технология доступа к данным ADO.NET 14 ADO.NET в деталях Программирование ADO.NET DataSet Хранение данных в памяти Хранение данных в памяти Реляционное представление Реляционное представление Таблицы, столбцы, строки, ограничения, отношения Таблицы, столбцы, строки, ограничения, отношения Сохранение данных и схемы данных в XML Сохранение данных и схемы данных в XML Отсоединенная модель Отсоединенная модель Не зависит от источника данных Не зависит от источника данных Единая модель для различных источников Единая модель для различных источников Предсказуемая производительность Предсказуемая производительность

Технология доступа к данным ADO.NET 15 ADO.NET в деталях Программирование ADO.NET DataSet DataSet DataTable DataTable DataRow DataColumn Relations Constraints XML Schema

Технология доступа к данным ADO.NET 16 ADO.NET в деталях Программирование ADO.NET Типизированный DataSet Классы генерируются в момент исполнения Классы генерируются в момент исполнения Наследуют от DataSet Наследуют от DataSet Схема помещается в класс Схема помещается в класс Преимущества Преимущества Автозавершение строк Автозавершение строк Проверка типов Проверка типов Читаемый код Читаемый код

Технология доступа к данным ADO.NET 17 ADO.NET в деталях Программирование ADO.NET DataAdapter Управляет обменом данными между DataSet и источником Управляет обменом данными между DataSet и источником Заполнение (DataSet или DataTable) Заполнение (DataSet или DataTable) Update (DataSet or DataTable) Update (DataSet or DataTable) Соответствие таблиц и столбцов Соответствие таблиц и столбцов Возможность изменения команд Insert/Update/Delete Возможность изменения команд Insert/Update/Delete Возможность заполнения DataSet данными из разных источников Возможность заполнения DataSet данными из разных источников

Технология доступа к данным ADO.NET 18 ADO.NET в деталях Программирование ADO.NET DataAdapter DataAdapter SelectCommand InsertCommand UpdateCommand DeleteCommand TableMappings Database DataSet

Технология доступа к данным ADO.NET 19 ADO.NET в деталях Программирование ADO.NET DataAdapter // Пример на C# // Создание DataAdapter SQLDataAdapter objDataAdapter = new SQLDataAdapter( "Select * from authors",cnn); // Заполнение DataSet objDataAdapter.FillDataSet(pubs, "Authors"); // Изменение данных pubs.Tables["Authors"].Rows[0]["au_lname"]="smith"; objDataAdapter.Update(pubs, "Authors");

Технология доступа к данным ADO.NET 20 ADO.NET в деталях Программирование ADO.NET DataReader Быстрый, Forward-Only, Read-Only доступ к данным Быстрый, Forward-Only, Read-Only доступ к данным Работает, как Socket Работает, как Socket Типизированный доступ Типизированный доступ Держит соединение Держит соединение

Технология доступа к данным ADO.NET 21 ADO.NET в деталях Программирование ADO.NET DataBinding DataView DataView Отображение одной DataTable Отображение одной DataTable Возможность фильтрации и сортировки Возможность фильтрации и сортировки Несколько DataViews могут по разному отображать одну таблицу Несколько DataViews могут по разному отображать одну таблицу Используется для databinding Используется для databinding DataViewManager DataViewManager Отображение целого DataSet Отображение целого DataSet Возможность фильтрации и сортировки Возможность фильтрации и сортировки Возможность связывания DataViews Возможность связывания DataViews Используется для databinding Используется для databinding

Технология доступа к данным ADO.NET 22 ADO.NET в деталях Программирование ADO.NET Источники данных DataBinding DataReader DataReader DataTable DataTable DataView DataView DataSet DataSet DataViewManager DataViewManager Array Array Collection Collection IList IList

Developer Days 2001 Demo 1 DataSet, DataAdapter и DataReader Используя ADO.NET

Технология доступа к данным ADO.NET 24 ADO.NET в деталях Содержание Введение в ADO.NET Введение в ADO.NET Программирование ADO.NET Программирование ADO.NET Поддержка XML Поддержка XML Дополнительные возможности Дополнительные возможности Практики использования Практики использования

Технология доступа к данным ADO.NET 25 ADO.NET в деталях Поддержка XML ADO.NET и XML DataSet DataSet Выгрузка/загрузка в XML данных из DataSet Выгрузка/загрузка в XML данных из DataSet Выгрузка/загрузка XSD-схемы данных Выгрузка/загрузка XSD-схемы данных Схема может быть получена из XML Data Схема может быть получена из XML Data XmlDataDocument XmlDataDocument XML представление реляционных данных XML представление реляционных данных Типизация Типизация Возможность использования инструментов XML (валидирование схемы, XSL/T, запросы XPath) к реляционным данным Возможность использования инструментов XML (валидирование схемы, XSL/T, запросы XPath) к реляционным данным Все возможности XMLDocument Все возможности XMLDocument

Технология доступа к данным ADO.NET 26 ADO.NET в деталях Поддержка XML ADO.NET и XML // Пример на C# // Связывание XmlDataDocument с DataSet XmlDataDocument xmlDocument = new XmlDataDocument(pubs); // Получение XmlNavigator для XmlDataDocument DataDocumentNavigator xmlNavigator = new DataDocumentNavigator(xmlDocument); // Запрос всех авторов из Калифорнии xmlNavigator.Select("//Authors[state='CA']/au_lname"); // Вывод фамилий полученных авторов while(xmlNavigator.MoveToNextSelected()){ Console.WriteLine("Name = " + xmlNavigator.InnerText); }

Технология доступа к данным ADO.NET 27 ADO.NET в деталях Поддержка XML XML-представление реляционных данных SQL XML SQL XML Xml из SQLServer Xml из SQLServer Поддержка UpdateGrams Поддержка UpdateGrams XmlDataDocument XmlDataDocument Редактирование реляционных данных, как XML через XmlDocument Редактирование реляционных данных, как XML через XmlDocument DataDocumentNavigator DataDocumentNavigator Запросы XPath Запросы XPath Преобразования XSLT Преобразования XSLT Валидирование Валидирование

Технология доступа к данным ADO.NET 28 ADO.NET в деталях Поддержка XML ADO.NET и XML DataSet предоставляет доступ к данным и схемам через XML: DataSet предоставляет доступ к данным и схемам через XML: ReadXml() ReadXml() ReadXmlSchema() ReadXmlSchema() WriteXml() WriteXml() WriteXmlSchema() WriteXmlSchema()

Developer Days 2001 Demo 2 Поддержка XML Чтение и запись XML файлов

Технология доступа к данным ADO.NET 30 ADO.NET в деталях Поддержка XML ADO.NET и ASP.NET Команды SQL Команды SQL Транзакции (обновление, вставка, и т.д.) Транзакции (обновление, вставка, и т.д.) DataReader для потокового доступа DataReader для потокового доступа Заполнение WebControls, построение HTML таблиц Заполнение WebControls, построение HTML таблиц DataSet DataSet Данные приложения Данные приложения Кэширование (результаты частых запросов) Кэширование (результаты частых запросов) Remoting Data in a WebRequest Remoting Data in a WebRequest XML XML Преобразования (XSLT) Преобразования (XSLT) Валидирование (XSD, XDR, DTD) Валидирование (XSD, XDR, DTD) Обмен B2B (BizTalk) Обмен B2B (BizTalk)

Технология доступа к данным ADO.NET 31 ADO.NET в деталях Содержание Введение в ADO.NET Введение в ADO.NET Программирование ADO.NET Программирование ADO.NET Поддержка XML Поддержка XML Дополнительные возможности Дополнительные возможности Практики использования Практики использования

Технология доступа к данным ADO.NET 32 ADO.NET в деталях Дополнительные возможности ConnectionPooling OLE DB Provider предоставляет OLEDB Session Pooling OLE DB Provider предоставляет OLEDB Session Pooling SQL Client Provider предоставляет COM+ Session Pooling SQL Client Provider предоставляет COM+ Session Pooling

Технология доступа к данным ADO.NET 33 ADO.NET в деталях Дополнительные возможности ConnectionPooling // Пример на C# SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=Northwind conn.Open();// Создан Pool A; SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=pubs conn.Open();// Создан Pool B, поскольку использовано другая строка соединение SqlConnection conn = new SqlConnection(); conn.ConnectionString = Integrated Security=SSPI; Initial Catalog=Northwind conn.Open();// Используется Pool A

Технология доступа к данным ADO.NET 34 ADO.NET в деталях Дополнительные возможности Объект Command Представляет команду для исполнения Представляет команду для исполнения Не обязательно SQL Не обязательно SQL С помощью ADO Command можно: С помощью ADO Command можно: Определить оператор для исполнения на сервере Определить оператор для исполнения на сервере Установить параметры команды Установить параметры команды Получить возвращаемые параметры Получить возвращаемые параметры Соответствует ADODB.Command Object Соответствует ADODB.Command Object Может содержать коллекцию Parameters Может содержать коллекцию Parameters

Технология доступа к данным ADO.NET 35 ADO.NET в деталях Дополнительные возможности Объект Command ExecuteNonQuery ExecuteNonQuery ExecuteReader ExecuteReader ExecuteScalar ExecuteScalar ExecuteXmlReader (только для SqlCommand) ExecuteXmlReader (только для SqlCommand)

Технология доступа к данным ADO.NET 36 ADO.NET в деталях Дополнительные возможности Распределенные транзакции Для использования распределенных транзакций необходимо: Для использования распределенных транзакций необходимо: Использовать System.EnterpriseServices Использовать System.EnterpriseServices Создать ServicedComponent, поддерживающий транзакции Создать ServicedComponent, поддерживающий транзакции Добавить в ServicedComponents Добавить в ServicedComponents Выполнять транзакции на ServicedComponents Выполнять транзакции на ServicedComponents

Технология доступа к данным ADO.NET 37 ADO.NET в деталях Дополнительные возможности DataRelation Что такое DataRelation? Что такое DataRelation? Используется для связи двух таблиц (DataTable) Используется для связи двух таблиц (DataTable) Связи создаются между столбцами дочерних и родительских таблиц Связи создаются между столбцами дочерних и родительских таблиц Могут использоваться для обновления данных в родительских таблицах при изменении дочерних Могут использоваться для обновления данных в родительских таблицах при изменении дочерних

Технология доступа к данным ADO.NET 38 ADO.NET в деталях Дополнительные возможности Обработка ошибок ADO.NET позволяет связывать ошибки с отдельными строками в DataSet ADO.NET позволяет связывать ошибки с отдельными строками в DataSet Строки с ошибками могут быть отфильтрованы Строки с ошибками могут быть отфильтрованы Информация об ошибке сохраняется в DataSet даже при пересылке с использованием XML Информация об ошибке сохраняется в DataSet даже при пересылке с использованием XML

Developer Days 2001 Demo 3 Обработка ошибок ADO.NET и обработка ошибок

Технология доступа к данным ADO.NET 40 ADO.NET в деталях Содержание Введение в ADO.NET Введение в ADO.NET Программирование ADO.NET Программирование ADO.NET Поддержка XML Поддержка XML Дополнительные возможности Дополнительные возможности Практики использования Практики использования

Технология доступа к данным ADO.NET 41 ADO.NET в деталях Практики использования Возможные варианты Подсоединенный доступ к данным Подсоединенный доступ к данным Отсоединенный доступ к данным Отсоединенный доступ к данным XML-представление реляционных данных XML-представление реляционных данных

Технология доступа к данным ADO.NET 42 ADO.NET в деталях Практики использования Подсоединенный доступ Managed Providers Managed Providers Connection, Transaction Connection, Transaction Соединение с DataSource Соединение с DataSource Использование транзакций Использование транзакций Command, Parameters Command, Parameters Updates, Selects, DDL Updates, Selects, DDL DataReader DataReader (FO/RO) Серверный курсор (FO/RO) Серверный курсор DataAdapter DataAdapter Заполнение Dataset Заполнение Dataset Обновление БД данными из DataSet Обновление БД данными из DataSet

Технология доступа к данным ADO.NET 43 ADO.NET в деталях Практики использования Отсоединенный доступ DataSet DataSet Данные приложений Данные приложений Отправка результатов Отправка результатов SOAP SOAP Кэширование результатов Кэширование результатов Кэш ASP.NET Кэш ASP.NET Сохранение результатов Сохранение результатов Сохранить данные, как XML, схема как XSD Сохранить данные, как XML, схема как XSD Взаимодействие с пользователем Взаимодействие с пользователем Скроллирование, сортировка, фильтр Скроллирование, сортировка, фильтр DataView, DataViewManager DataView, DataViewManager Привязка элементов интерфейса Привязка элементов интерфейса

Технология доступа к данным ADO.NET 44 ADO.NET в деталях Практики использования XML-представление реляционных данных XML XML XmlDocument XmlDocument XmlDataDocument XmlDataDocument Реализует W3C DOM level 1 и 2 Реализует W3C DOM level 1 и 2 XPathNavigator XPathNavigator Произвольные доступ на чтение Произвольные доступ на чтение XslTransform XslTransform Для XSLT 1.0 Для XSLT 1.0

Технология доступа к данным ADO.NET 45 ADO.NET в деталях Заключение Эволюция ADO Эволюция ADO Спроектировано для использования с XML Спроектировано для использования с XML Интегрировано в.NET Framework Интегрировано в.NET Framework Предоставляет быстрый и простой механизм для подсоединенного и отсоединенного доступа к данным Предоставляет быстрый и простой механизм для подсоединенного и отсоединенного доступа к данным

Технология доступа к данным ADO.NET 46 ADO.NET в деталях Дополнительная информация MSDN MSDN msdn.microsoft.com msdn.microsoft.com ADO.NET ADO.NET msdn.microsoft.com/library/dotnet/cpguide/cpco naspdataaccess.htm msdn.microsoft.com/library/dotnet/cpguide/cpco naspdataaccess.htm msdn.microsoft.com/vstudio/nextgen/Technolog y/adoplusdefault.asp msdn.microsoft.com/vstudio/nextgen/Technolog y/adoplusdefault.asp

Технология доступа к данным ADO.NET 47 ADO.NET в деталях MS Press Книги для разработчиков

Технология доступа к данным ADO.NET 48 ADO.NET в деталях Обучение Обучение для разработчиков Data in Visual Studio.NET Data in Visual Studio.NET Курс 2501 Курс 2501 Доступен с августа 2001 Доступен с августа 2001

Технология доступа к данным ADO.NET 49 ADO.NET в деталях