ADO.NET: connected layer. Для работы в этом режиме нужна копия Microsoft SQL Server (7.0 или выше) или копия Microsoft SQL Server 2008 Express Edition.

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



Advertisements
Похожие презентации
Выполнение запросов, создание и редактирование отчета MS Access.
Advertisements

Основные возможности MS ACCESS. CУБД Access - Представляет из себя программное средство, при помощи которого можно создать многотабличную реляционную.
1 из 4 Данный документ носит исключительно информационный характер. КОРПОРАЦИЯ МАЙКРОСОФТ НЕ ПРЕДОСТАВЛЯЕТ В ЭТОМ ДОКУМЕНТЕ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ.
ТАБЛИЦЫ База данных может включать множество таблиц, в которых хранятся данные по различным темам. Каждая таблица может состоять из множества полей различного.
Зачетная работа по теме « Основы баз данных » Выполнила ученица 11-А класса Серегина Ольга.
Microsoft word В то время как Windows все больше развивался и и привлекал интерес, к нему был перенесён и широко известный текстовый редактор фирмы Microsoft.
Урок 3. Формы представления данных (таблицы, формы, запросы, отчеты)
Интерфейс текстового процессора Microsoft Word. С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся.
Департамент образования и науки Тюменской области Государственное автономное профессиональное образовательное учреждение Тюменской области «Западно-Сибирский.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Тема: Общая характеристика текстового процессора Microsoft Word 2007.
ГБОУ СОШ 840. базы данных (БД), систем управления базами данных (СУБД). В современной деловой жизни мы часто сталкиваемся с огромными объемами информации,
Создание таблиц базы данных. Запросы на выборку данных.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Создание базы данных с помощью Конструктора Создание базы данных без помощи Мастера Теперь попробуем создать базу данных без помощи Мастера. При запуске.
Создание таблиц базы данных. Запросы на выборку данных.
Связи между таблицами являются необходимым элементом структуры БД. Для того, чтобы связь была возможна, таблицы должны иметь общие поля. Чаще всего в одной.
Создание презентации в OpenOffice.org Impress. Нажимаем кнопку Далее. Появляется окно шага 2 мастера презентаций На втором шаге задаем стиль слайда и.
ДАЛЕЕ БАЗА ДАННЫХ ACCESS Проектирование базы данных Создание базы данных Создание базы данных без помощи мастера Таблицы Создание таблицы в режиме конструктора.
1 © Хацкевич Александр Георгиевич Windows 7. 2 В предыдущих версиях операционных систем Windows управление файлами означало расположение файлов в различных.
Транксрипт:

ADO.NET: connected layer

Для работы в этом режиме нужна копия Microsoft SQL Server (7.0 или выше) или копия Microsoft SQL Server 2008 Express Edition. Этот облегченный сервер баз данных отлично подходит для наших потребностей: он бесплатен, предоставляет графический интерфейс (SQL Server Management Tool) для создания и администрирования баз данных и интегрирован с Visual Studio 2010/Visual C# 2010 Express Edition.Microsoft SQL Server 2008 Express Edition

Создание таблицы Чтобы приступить к созданию тестовой базы данных: запустите Visual Studio 2010; откройте Server Explorer через меню View (Просмотр); щелкните правой кнопкой мыши на узле Data Connections (Подключения к данным) и выберите в контекстном меню пункт Create New SQL Server Database (Создать новую базу данных SQL Server); в открывшемся диалоговом окне подключитесь к SQL Server, установленному на вашей локальной машине (с именем (local)), и укажите в поле имени базы данных AutoLot. Для учебных целей можно оставить аутентификацию Windows:

Для добавления новой таблицы щелкните правой кнопкой мыши на узле Tables (Таблицы) и выберите в контекстном меню пункт Add New Table: С помощью редактора таблиц добавьте в таблицу нужное количество столбцов данных. Если у столбца должно быть установлено свойство Primary Key (первичный ключ) для этого щелкните правой кнопкой мыши на строке имени столбца и выберите в контекстном меню пункт Set Primary Key (Установить первичный ключ).

сохраните и закройте новую таблицу; теперь новая таблица должна быть видна под узлом Tables (Таблицы) в Server Explorer. щелкните правой кнопкой мыши на ее значке и выберите в контекстном меню пункт Show Table Data (Просмотр данных таблицы). введите необходимую информацию один из возможных вариантов списка товаров приведен на рисунке:

Создание хранимой процедуры Хранимые процедуры это подпрограммы, хранимые непосредственно в базе данных. Обычно они работают с данными таблиц и возвращают какое-то значение. Чтобы добавить в базу данных одну хранимую процедуру, щелкните правой кнопкой мыши на узле Stored Procedures (Хранимые процедуры) базы данных в Server Explorer и выберите в контекстном меню пункт Add New Stored Procedure (Добавить новую хранимую процедуру). В появившемся окне редактора введите следующий текст:

При сохранении, этой процедуре автоматически будет присвоено имя GetPetName, взятое из оператора CREATE PROCEDURE (учтите, что при первом сохранении Visual Studio 2010 автоматически изменяет имя SQL- сценария на "ALTER PROCEDURE..."). После этого новая хранимая процедура будет видна в Server Explorer:

Визуальное создание отношений между таблицами Между таблицами нужно установить отношения "родительский-дочерний". В Visual Studio 2010 это выполняется очень просто, т.к. она позволяет вставить новую диаграмму базы данных на этапе проектирования: откройте Server Explorer; щелкните правой кнопкой мыши на узле Database Diagrams базы данных; выберите пункт контекстного меню Add New Diagram (Добавить новое представление); откроется диалоговое окно, в котором можно выбирать таблицы и добавлять их в диаграмму; выберите все таблицы из базы данных

Чтобы начать устанавливать отношения между таблицами, щелкните на ключевом поле одной таблицы, а затем (не отпуская кнопку мыши) перетащите его на такое же поле другой таблицы. Когда вы отпустите кнопку, появится диалоговое окно; согласитесь со всеми предложенными в нем значениями по умолчанию. Теперь повторите те же действия для всех имеющихся таблиц. После этого вы увидите диалоговое окно классов, показанное на рисунке ниже (было включено отображение отношений между таблицами за счет щелчка правой кнопкой мыши на конструкторе и выбора в контекстном меню пункта Show Relationship Labels (Показывать метки взаимосвязи)).

Генератор поставщиков данных Генератор поставщиков данных.NET позволяет создать единую кодовую базу с помощью обобщенных типов доступа к данным. Более того, посредством конфигурационных файлов приложения (и под элемента ) можно получить поставщики и строки подключения без необходимости в повторной компиляции или развертывания сборки, в которой используются API ADO.NET. Чтобы разобраться в реализации генератора поставщиков данных, надо иметь ввиду, что все классы в поставщике данных порождены от одних и тех же базовых классов, определенных в пространстве имен System.Data.Common:

DbCommand абстрактный базовый класс для всех объектов команд; DbConnection абстрактный базовый класс для всех объектов подключений; DbDataAdapter абстрактный базовый класс для всех объектов адаптеров данных; DbDataReader абстрактный базовый класс для всех объектов чтения данных; DbParameter абстрактный базовый класс для всех объектов параметров; DbTransaction –абстрактный базовый класс для всех объектов транзакций. Все поставщики данных, разработанные Microsoft, содержат класс, порожденный от System.Data.Common.DbProviderFactory. В этом базовом классе определен ряд методов, которые выбирают объекты данных, характерные для конкретных поставщиков.

Для получения типа, порожденного от DbProviderFactory, непосредственно для определенного поставщика данных в пространстве имен System.Data.Common имеется класс DbProviderFactories. С помощью метода GetFactory() можно получить конкретный объект DbProviderFactory для указанного поставщика данных. Для этого нужно указать строковое имя, которое представляет пространство имен.NET, содержащее функциональность поставщика:

После получения генератора для поставщика данных можно получить связанные с ним объекты данных (например, подключения, команды и объекты чтения данных). Для всех практических целей можно рассматривать аргумент, передаваемый в DbProviderFactories.GetFactory(), как имя пространства имен.NET для поставщика данных. В реальности это строковое значение используется в значении machine.config для динамической загрузки нужной библиотеки из глобального кэша сборок.

Подключение к базе данных Первое, что нужно сделать при работе с поставщиком данных это установить сеанс с источником данных с помощью объекта подключения (порожденного от DbConnection). У объектов подключения.NET имеется форматированная строка подключения, которая содержит ряд пар имя/значение, разделенных точками с запятой. Эта информация содержит имя машины, к которой нужно подключиться, необходимые параметры безопасности, имя базы данных на этой машине и другую информацию, зависящую от поставщика.

Создание, открытие и закрытие соединения с базой данных SqlServer: // Создание открытого подключения using (SqlConnection cn = new SqlConnection()) { cn.ConnectionString Source=MICROSOF-1EA29E\SQLEXPRESS;Initial Catalog=AutoLot; + "Integrated Security=SSPI;Pooling=False"; cn.Open(); // Работа с базой данных cn.Close(); }

Некоторые члены базового класса DbConnection: BeginTransaction() Используется для начала транзакции базы данных ChangeDatabase() Изменяет базу данных для открытого подключения ConnectionTimeout Свойство только для чтения. Возвращает время ожидания при установке подключения, после которого ожидание прекращается и выдается сообщение об ошибке (по умолчанию 15 секунд). Для изменения этого времени нужно изменить в строке подключения сегмент Connect Timeout (например, Connect Timeout=30) Database Свойство только для чтения. Содержит имя базы данных, с которой связан объект подключения DataSource Свойство только для чтения. Содержит местоположение базы данных, с которой связан объект подключения GetSchema() Этот метод возвращает объект DataTable, содержащий информацию схемы из источника данных State Свойство только для чтения. Содержит текущее состояние подключения в виде одного из значений перечисления ConnectionState

Объекты построителей строк подключения

Команды Тип SqlCommand (порожденный от DbCommand) представляет собой объектно-ориентированное представление SQL-запроса, имени таблицы или хранимой процедуры. Тип команды указывается свойством CommandType, которое принимает значения из перечисления CommandType:

Выполнение команд Классы Command предлагают следующие методы выполнения: ExecuteNonQuery() выполняет команду, но не возвращает вывода; ExecuteReader() выполняет команду и возвращает типизированный IDataReader; ExecuteScalar() выполняет команду и возвращает значение из первого столбца первой строки любого результирующего набора. SqlCommand предлагает метод: ExecuteXmlReader() выполняет команду и возвращает объект XmlReader, который может быть использован для прохода по фрагменту XML, возвращенному из базы данных. Метод ExecuteNonQuery() обычно используется для операторов UPDATE, INSERT или DELETE, где единственным возвращаемым значением является количество обработанных строк. Однако метод может вернуть результаты, если осуществляется вызов хранимой процедуры с выходными параметрами.

Примеры string strSQL = "UPDATE Customers SET LastName = 'Johnson' WHERE LastName = 'Walton'"; SqlCommand myCommand = new SqlCommand(strSQL, cn); int i = myCommand.ExecuteNonQuery(); string strSQL = "SELECT * FROM Inventory"; SqlCommand myCommand = new SqlCommand(strSQL, cn); SqlDataReader dr = myCommand.ExecuteReader(); while (dr.Read()) Console.WriteLine("ID: {0} Car Pet Name: {1}",dr[0],dr[3]);

Вставка, удаление, обновление записей в базе данных Метод ExecuteReader() извлекает объект чтения данных, который позволяет просматривать результаты SQL- оператора Select с помощью потока информации, доступного только для чтения в прямом направлении. Если требуется выполнить операторы SQL, модифицирующие таблицу данных, то нужен вызов метода ExecuteNonQuery() данного объекта команды. Этот единый метод предназначен для выполнения вставок, изменений и удалений, в зависимости от формата текста команды. Понятие не запросный (nonquery) означает оператор SQL, который не возвращает результирующий набор. Следовательно, операторы Select представляют собой запросы, а операторы Insert, Update и Delete нет. Соответственно, метод ExecuteNonQuery() возвращает значение int, содержащее количество строк, на которые повлияли эти операторы, а не новое множество записей.

Добавление логики вставки Вставка новой записи в таблицу сводится к форматированию SQL-оператора Insert (в зависимости от введенных пользователем данных) и вызову метода ExecuteNonQuery() с помощью объекта команды.