Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Тема 2.Понятие удалённого источника данных.ODBC протокол доступа к источникам данных. Модель ADO доступа к источникам данных. Технология ADO.NET.





Источник данных — это источник, который содержит данные и сведения о подключении,

необходимые для доступа к этим данным. Примерами источников данных являются базы данных SQL Server, Oracle RDBMS, электронные таблицы и текстовые файлы. Сведения о подключении включают расположение сервера, имя базы данных, идентификатор входа, пароль и различные параметры драйвера ODBC, которые описывают способ подключения к источнику данных. Эти сведения можно получить у администратора базы данных, к которой необходимо подключиться.

ODBC — это протокол, который применяется для подключения баз к такому внешнему источнику данных, как Microsoft SQL Server.

Для доступа к удаленным данным используется стандартный протокол доступа к базам данных (ODBC). Все базы данных, а также электронные таблицы имеют драйверы ODBC, с помощью которых вы можете соединяться с ними и получать доступ к их содержимому.Двумя основными компонентами ADO.NET 3.0 для доступа к данным и их обработки являются поставщики данных.NET Framework и DataSet.

Основной архитектурой данных, используемой для создания приложений в Visual Studio, является ADO.NET.

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

Тема 3.Подключение к данным. Общие сведения о подключении к данным в базе данных. Создание подключений к базам данных MS SQL Server. Создание подключений к базам данных OLEDB и ODBC.

Visual Studio предоставляет средства для подключения приложения к данным из разнообразных источников, таких как базы данных, веб-службы и объекты. При использовании средств разработки структуры данных в Visual Studio часто не требуется явно создавать объект подключения для формы или компонента. Объект подключения обычно создается в результате завершения одного из мастеров данных или перетаскивания объектов данных на форму.

Чтобы подключить приложение к данным в базе данных, веб-службе или объекте, запустите Мастер настройки источников данных, выбрав элемент Добавить новый источник данных в Окне "Источники данных".

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

При использовании Visual Studio подключения настраиваются с помощью Диалогового окна " Добавить/Изменить подключение " (вкладка "Общие"), которое появляется при редактировании или создании соединений в одном из мастеров данных, в Обозревателе серверов/Обозревателе баз данных или при изменении свойств соединения в окне Свойства.

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

 

 

Действие Описание
Запуск Мастера конфигурации источников данных. Подключения настраиваются при выборе пути к базе данных в Мастере конфигурации источника данных.
Запуск Мастер настройки адаптера таблицы. Подключения создаются в Мастере настройки адаптера таблицы.
Запуск Мастера настройки запроса адаптера таблицы. Подключения создаются в Мастере конфигурации запросов к адаптеру таблиц.
Перетаскивание элементов из Окна "Источники данных" на форму Конструктор компонентов. Объекты подключения создаются при перетаскивании элементов из окна Источники данных в Windows Forms Designer или Конструктор компонентов.
Добавление новых подключений к данным в Обозревателе серверов/Обозревателе баз данных. Подключения к данным в Обозревателе серверов/Обозревателе баз данных отображаются в списке доступных подключений в мастерах данных.

Основным свойством, связанным с объектом подключения, является свойство ConnectionString. Это свойство состоит из строки сведений с парами атрибут/значение, необходимых для входа на сервер базы данных и обращения к конкретной базе данных. Типичное свойство ConnectionString выглядит следующим образом:

Provider=SQLOLEDB.1;Data Source=MySQLServer;Initial Catalog=NORTHWIND;Integrated Security=SSPI

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


Для создания соединения с Microsoft SQL Server 7.0 или более поздней версии используется объект SqlConnection поставщика данных.NET Framework для SQL Server.

string connectionString = "Data Source=(local);Initial Catalog=AdventureWorks;"

+ "Integrated Security=SSPI;";

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);

Console.WriteLine("State: {0}", connection.State);

}

Для соединения с источником данных OLE DB или с базой данных Microsoft SQL Server 6.x и более ранних версий используется объект OleDbConnection поставщика данных.NET Framework для OLE DB.

using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"))

{

try

{

connection.Open();

Console.WriteLine("ServerVersion: {0} \nDataSource: {1}",connection.ServerVersion, connection.DataSource);

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

}

Для соединения с источником данных ODBC используется объект OdbcConnection поставщика данных.NET Framework для ODBC.

Тема 4.Подготовка приложения к получению данных. Общие сведения о технологии ADO.NET. Хранение данных в наборах данных. Конструктор наборов данных. Мастер конфигурации источников данных. Общие сведения о технологии LINQ.

ADO.NET предполагает модель для доступа к данным, в которой вы открываете подключение, получаете данные или выполняете операцию и закрываете подключение. Эта модель основывается на концепции источников данных. ADO.NET предоставляет две основные стратегии для работы с этой моделью. Первая стратегия — это сохранение данных в наборе данных DataSet, представляющем собой кэш записей в оперативной памяти, с которыми можно работать при отсутствии подключения к источнику данных. Чтобы использовать набор данных сначала необходимо создать его экземпляр, а затем с помощью адаптера данных заполнить его данными из источника данных. После этого можно работать с данными, хранящимися в наборе данных, например, путем связывания элементов управления с членами этого набора. Другой стратегией является выполнение операций непосредственно с базой данных. В этой стратегии используется запрос объекта TableAdapter или команда для работы с данными, содержащая инструкцию SQL или ссылку на хранимую процедуру. Затем можно выполнить запрос или команду для осуществления необходимых действий.

Большинство приложений, которые создаются для конечных пользователей, обеспечивают обработку информации, хранящейся в базах данных (складские, бухгалтерские, торговые, информационно-поисковые системы и т. п.). Это может быть небольшая система, работающая на локальном компьютере; система среднего класса, состоящая из десятка рабочих мест, объединенных локальной сетью; распределенная система, обеспечивающая доступ к данным сотням и тысячам пользователей через сеть Интернет.


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

В технологии Microsoft.NET создана, достаточна гибкая и эффективная модель доступа к данным - ADO.NET, предоставляющая разработчикам набор объектов, на основе которых можно создавать приложения любого масштаба (от локальных до глобальных).

Как правило, в приложениях необходимо извлечь информацию из базы данных и выполнить с ней некоторые действия: показать пользователю на экране монитора, сделать нужные расчеты или послать данные в другой компонент. Эту роль выполняет набор данных — DataSet, который представляет собой своеобразный кэш записей, извлеченных из базового источника. В отличие от традиционного Recordset, DataSet может состоять из одной или более таблиц, он имеет дело с копиями таблиц из базы данных источника.

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

Важно отметить то, что DataSet — пассивный контейнер для данных, который обеспечивает только их хранение. Что же нужно поместить в этот контейнер, определяется в другом объекте — адаптере данных DataAdapter. В адаптере данных содержатся одна или более команд, которые определяют, какую информацию нужно поместить в таблицы объекта DataSet, по каким правилам нужно синхронизировать информацию в конкретной таблице DataSet и соответствующей таблицей основной базы данных и т. п. Адаптер данных обычно содержит четыре команды: SELECT, INSERT, UPDATE, DELETE для выборки, добавления, корректировки и удаления записей.

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

Конструктор наборов данных обеспечивает визуальное представление объектов, содержащихся в типизированных наборах данных. С помощью Конструктора наборов данных можно создавать и изменять Адаптеры таблиц, Запросы адаптеров таблиц, DataTable, DataColumn и DataRelation.

Мастер настройки источников данных используется для создания и редактирования источников данных в приложении. Эти источники данных могут быть созданы из баз данных, веб-служб и объектов и могут быть привязаны к элементам управления, отображающим данные на форме. После запуска мастера источник данных доступен в окне Источники данных для перетаскивания на формы в приложениях Windows.


Наборы данных могут быть типизированными или нетипизированными. Типизированные наборы данных получают свою схему (таблицу и структуру столбцов) из файлов XSD и проще программируются. В своих приложениях можно использовать как типизированные, так и нетипизированные наборы данных. Однако для поддержки типизированных наборов данных в Visual Studio предусмотрено больше инструментов, которые упрощают процесс программирования наборов данных и уменьшают вероятность возникновения ошибки.

Создать типизированный набор данных можно, запустив мастер Мастер конфигурации источников данных, или путем добавления элемента DataSet с помощью команды "Добавить новый элемент" в меню "Проект". Дополнительные сведения см. в разделе Создание наборов данных.

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

Нетипизированный набор данных, в отличие от типизированного, не имеет соответствующей встроенной схемы. Как и типизированный набор данных, нетипизированный набор содержит такие структуры, как таблицы, столбцы и др., однако они доступны только как коллекции. (Однако после создания вручную таблиц и других элементов данных нетипизированного набора данных можно экспортировать структуру набора данных в качестве схемы с помощью метода WriteXmlSchema набора данных.)

Альтернативной стратегией доступа к данным является технология LINQ. LINQ (Language-Integrated Query) позволяет разработчикам формировать в программном коде запросы, основанные на наборах, без использования дополнительного языка запросов. Можно писать запросы LINQ к различным перечислимым источникам данных (источникам данных, которые реализуют интерфейс IEnumerable), таким как хранимые в памяти структуры данных, XML-документы, базы данных SQL и объекты DataSet.

Поддерживаются тритехнологии ADO.NET LINQ (Language-Integrated Query): LINQ to DataSet, LINQ to SQL и LINQ to Entities. Технология LINQ to DataSet обеспечивает расширенные возможности оптимизированных запросов к DataSet; технология LINQ to SQL поддерживает непосредственные запросы схем базы данных SQL Server.

 

Тема 5. Выборка данных в приложение. Заполнение данными набора данных. Создание запросов TableAdapter. Изменение запросов TableAdapter. Создание классов LINQ to SQL (реляционный конструктор объектов).

По умолчанию набор данных не содержит данных. Заполнение набора данных фактически означает загрузку данных в отдельные объекты DataTable, составляющие набор данных. Таблицы данных заполняются путем выполнения запросов адаптера таблиц или выполнением команд адаптера данных (например SqlDataAdapter). При заполнении набора данных возникают различные события, проверяются ограничения, и т. д. Код для заполнения набора данных автоматически добавляется в обработчик событий загрузки формы при перетаскивании элементов из окна Источники данных на форму в приложении Windows.

Заполнять наборы данных можно различными способами:

- Если вы создали набор данных с использованием средств проектирования, например с помощью мастера данных, вызовите метод Fill адаптера таблиц;

- Вызовите метод Fill объекта DataAdapter;

- Вручную таблицы набора данных можно заполнить, создавая объекты DataRow и добавляя их в коллекцию таблицы DataRowCollection. (Это можно делать только во время выполнения программы; во время разработки задавать элементы коллекции

DataRowCollection нельзя.);

- Считывание XML-документа или потока в набор данных. Считывание XML-данных в набор данных;

- Слияние (копирование) содержимое одного набора данных с другим. Данный сценарий полезен тогда, когда приложение получает наборы данных из различных источников (например из различных веб-служб XML), но при этом требуется объединить их в один набор данных.

- Слияние (копирование) содержимого одной таблицы DataTable с другой.

Заполнение набора данных фактически означает загрузку данных в отдельные объекты DataTable, составляющие набор данных. Таблицы данных заполняются путем выполнения запросов к адаптеру таблицы TableAdapter или вызова команд адаптера обработки данных (например, SqlDataAdapter).

Для заполнения набора данных с помощью адаптера таблицы TableAdapter:

1. Откройте форму или компонент в окне Редактор кода.

2. Добавьте код в любое место в приложении, где необходимо загрузить данные в таблицу. Если запрос не требует параметров, передайте DataTable, которую требуется заполнить. Код может выглядеть следующим образом:

this.customersTableAdapter.Fill(this.northwindDataSet.Customers);

3. Если запрос использует параметры, передайте DataTable, которую требуется заполнить, вместе с параметрами, ожидаемыми запросом. В зависимости от фактических параметров в запросе код будет выглядеть аналогично следующим примерам:

customersTableAdapter.FillByCity(northwindDataSet.Customers, "Seattle");

customersTableAdapter.FillByCityAndState(northwindDataSet.Customers, "Seattle", "WA");

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







Date: 2016-07-20; view: 889; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.016 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию