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

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



Advertisements
Похожие презентации
РЭУБД РЭУБД ADO (Microsoft ActiveX Data Object )
Advertisements

Лекция 20. ADO.NET Отсоединенная модель доступа к данным.
Департамент образования и науки Тюменской области Государственное автономное профессиональное образовательное учреждение Тюменской области «Западно-Сибирский.
ADO.NET Технология доступа к данным платформы Microsoft.NET.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
Выполнение запросов, создание и редактирование отчета MS Access.
Высокоуровневые методы информатики и программирования Лекция 29 Типизированные классы Dataset.
Связи между таблицами являются необходимым элементом структуры БД. Для того, чтобы связь была возможна, таблицы должны иметь общие поля. Чаще всего в одной.
ДАЛЕЕ БАЗА ДАННЫХ ACCESS Проектирование базы данных Создание базы данных Создание базы данных без помощи мастера Таблицы Создание таблицы в режиме конструктора.
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
Источники данных LINQ РУБД. LINQ (Language Integrated Query, язык интегрированных запросов ) это технология, которая позволяет разработчикам формировать.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
6.5. Создание реляционной БД в среде СУБД ACCESS Общие сведения Реляционные отношения в СУБД ACCESS представлены в двух формах: в виде таблиц и в виде.
Принципы работы с данными. Введение в ADO.NET. Соединение с базой данных. Выполнение операций в соединенной среде 331 Современные технологии программирования.
Объектный доступ к Cache из среды.NET Александр Харитонов, InterSystems.
Общие сведения о Microsoft Access. позволяет хранить большие массивы данных, обрабатывать их, автоматизировать часто выполняемые операции, разрабатывать.
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
Основные возможности MS ACCESS. CУБД Access - Представляет из себя программное средство, при помощи которого можно создать многотабличную реляционную.
Разработка приложений для работы с БД На примере PHP и ASP.Net.
Транксрипт:

ADO.NET Интегрированная среда разработки

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

База данных на сервере DataSet1 Прикладная программа 1 Прикладная программа 2 DataSet2

DataSet Модель объектов ADO.NET очень обширна, но в ее основе лежит довольно простой набор классов. Наиболее важным из них считается DataSet. DataSet представляет собой отображение используемой базы данных, перенесенное на машину пользователя. При этом нет необходимости постоянно подключаться к серверу базы данных для модификации данных. Лишь иногда вы соединяете DataSet с его родительской базой данных и модифицируете ее внесенными вами изменениями. В то же время вы модифицируете DataSet теми изменениями в базе данных, которые сделали другие процессы.

DataSet DataSet состоит из объектов типа DataTable и объектов DataRelation. К ним можно обращаться как к свойствам объекта DataSet. Свойство Tables возвращает объект типа DataTableCollection, который содержит все объекты DataTable используемой базы.

Структура DataSet

Объекты DataTable и DataColumn Таблицы и поля Объект типа DataTable представляет собой таблицу базы данных. Такой объект может быть создан программно или путем запроса к базе данных. Объект DataTable состоит из строк и столбцов. Строки представляют собой отдельные записи таблицы, столбцы соответствующие поля. Для получения совокупности столбцов объект DataSet имеет свойство Columns, возвращающее DataColumnCollection, которое в свою очередь состоит из объектов типа DataColumn. Каждый объект DataColumn представляет собой отдельный столбец таблицы, из которого можно получить любую запись.

Объект DataRelation Связи между таблицами Кроме набора таблиц DataSet имеет свойство Relations, которое возвращает объект типа Data Relation Collection, состоящий из объектов DataRelation. Каждый DataRelation объект хранит данные о связях между двумя таблицами посредством объектов DataColumn. Такое отношение называется на языке баз данных один ко многим (one-to-many).

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

DataAdapter DataSet это образ реляционной базы данных. ADO.NET использует объект типа DataAdapter как мост между DataSet и источником данных, который является основной базой данных. DataAdapter содержит метод Fill() для обновления данных из базы и заполнения DataSet.

DataAdapter База данных (Источник данных) DataAdapterDataSet Fill() Прикладная программа

DBCommand и DBConnection Объект DBConnection представляет собой средство для соединения DataSet с источником данных. Соединение может быть доступно при помощи различных командных объектов. Например, объект DBCommand позволяет послать команду (обычно это SQL запрос или сохраненная процедура) к базе данных. Часто командные объекты создаются неявно, во время формирования объекта DataSet. ADO.NET позволяет вам явно обращаться к таким объектам

Провайдеры данных.NET В ADO.NET используются так называемые провайдеры данных (Data Providers).NET. Они обеспечивают доступ к соответствующим источникам данных и содержат четыре ключевых объекта: Connection, Command, DataReader и DataAdapter. Например, провайдер: SQL Server.NET Data Provider.

Структура пространств имен Типы (классы, структуры, перечислимые и т.д.), связанные с каждым из провайдеров данных.NET, находятся в собственных пространствах имен: System.Data.SqlClient. Содержит типы SQL Server.NET Data Provider, Руководство по архитектуре доступа к данным на платформе.NET System.Data.OleDb. Содержит типы OLE DB.NET Data Provider. System.Data.Оdbc. Содержит типы ODBC.NET Data Provider. System.Data. Содержит типы, независимые от провайдеров, например DataSet и DataTable.

Структура пространств имен Для каждого из провайдеров в его пространстве имен содержатся реализации объектов Connection, Command, DataReader и DataAdapter. Имена реализаций объектов из пространства имен SqlClient начинаются с префикса "Sql", а имена реализаций из пространства имен OleDb с префикса «OleDb». Реализация объекта Connection из пространства имен SqlClient называется SqlConnection, тогда как ее эквивалент из OleDb OleDbConnection. Соответствующие реализации объекта DataAdapter называются SqlDataAdapter и OleDbDataAdapter.

Использование объекта DataSet Для обычного разработчика это означает, что класс DataSet предоставляет средства моделирования реляционных данных в памяти. И если ADO.NET в целом предполагает работу с данными в отсоединенном режиме, объект DataSet позволяет «скрыть» этот факт и обращаться к информации так, как будто бы она находится в базе данных.

Использование объекта Connection using System; using System.Data; using System.Data.OleDb; // Создание объекта Connection. OleDbConnection conn = new OleDbConnection("Provider=SQLOLEDB;" + "Server=vmkss-serv;" "Database=ADONET;" + "UID=someuser; ") ; // Установка соединения с базой данных. conn.Open() ;

Использование объекта DataSet // Создание объектов DataSet and Command. DataSet ds = new DataSet(); OleDbDataAdapter daAuthors = new OleDbDataAdapter("SELECT * FROM CUSTOMER",conn); // Заполнение объекта DataSet. daAuthors, Fill(ds); // Теперь мы можем закрыть соединение, conn.Close () ; // Извлечение таблицы из объекта DataSet. DataTable tbl = ds.Tables["Table"]; // Обработка всех строк таблицы, foreach (DataRow row in tbl.Rows) ( // Вывод на консоль значения всех полей заданной строки, foreach (Object val in row.ItemArray) { Console.Write{val.ToStringO); } Console.WriteLine(""); // Вывод пустой строки.

Обновление БД с помощью объекта DataSet Объект DataSet предоставляет возможность извлечения подмножества данных, которые были изменены, удалены или добавлены, что позволяет проверить их достоверность перед тем, как отразить изменения непосредственно в базе данных.

Обновление БД с помощью объекта DataSet Поскольку мы уже создали объект DataAdapter, нам остается связать с ним объект CommandBuilder и вызвать метод DataAdapter.Update () для обновления, добавления или удаления записей. Соответствующие операции выполняются с помощью команд, заданных свойствами объекта DataAdapter InsertCommand, UpdateCommand и DeleteCommand.

Первый шаг – создаем Connection using System; using System.Data; using System.Data.OleDb; // Создание объекта Connection. OleDbConnection conn = new OleDbConnection("Provider=SQLOLEDB; " + "Server=vmkss-serv;" + "Database=ADONET;" + "UID=sa;"};

Второй шаг – создаем DataSet // Создание объектов DataSet и Command. DataSet ds = new DataSet (); OleDbDataAdapter daAuthors = new OleDbDataAdapter("SELECT * FROM CUSTOMER", conn);

Третий шаг – создаем CommandBuilder // Создание объекта OleDbCommandBuilder // оболочки объекта DataAdapter, поддерживающей // динамическое генерирование команд // обновления, добавления и удаления данных. OleDbCommandBuilder bldr = new OleDbCommandBuilder (daAuthors);

Четвертый шаг - Adapter // Заполнение объекта DataSet. daAuthors.Fill(ds); // Извлечение таблицы из объекта DataSet. DataTable tbl = ds.Tables["Table"];

Комментарий Был создан экземпляр класса OleDbCommandBuilder. При создании объекта CommandBuilder конструктору передается объект DataAdapter. Объект CommandBuilder регистрирует себя в качестве "слушателя" объекта DataAdapter и, при необходимости, создает команды обновления, удаления или вставки данных.

Завершение Обратите внимание: после выполнения запроса к базе данных (в методе Fill) соединение было закрыто, затем мы заново открываем его непосредственно перед выполнением метода Update (). conn. Open () ; daAuthors.Update(ds);

Доступ к базе данных SQL Server с помощью поставщика OleDB using System; using System.Data; using System.Data.OleDb; // Создание объекта Connection. OleDbConnection conn = new OleDbConnection("Provider=SQLOLEDB;" + "Server=localhost;" + "Database=ADONET;" + "UID=someuser;"); // Создание объектов DataSet и Command. DataSet ds = new DataSet(); OleDbDataAdapter daAuthors = new OleDbDataAdapter( "SELECT * FROM CUSTOMER", conn); // Заполнение объекта DataSet. daAuthors.Fill(ds);

Доступ к базе данных SQL Server с помощью поставщика OleDB // Извлечение таблицы из объекта DataSet. DataTable tbl « ds.Tables["Table"]; // Обработка всех строк таблицы. foreach( DataRow row in tbl.Rows) { // Вывод на консоль значений всех полей заданной строки. foreach {Object val in row.ItemArray} { Console.Write(val.ToString()); } Console.WriteLine(""); // Вывод пустой строки.