- •Основные понятия и терминология бд.
- •2. Логическое и физическое описание данных.
- •4. Классификация субд. Трехуровневая архитектура бд.
- •5. Эволюция концепций бд. Основные характеристики первого и второго этапов.
- •11. Реляционная модель бд. Транзакции, триггеры и хранимые процедуры, ссылочная целостность на триггерах.
- •17. Физическая организация данных в субд:
- •18.Физическая организация данных в субд: индексирование. Организация индексов в виде б-деревьев и инвертированных списков.
- •19. Распределенные бд. Хранилища данных.
- •20. Sql. Состав операторов языка.
- •21. Структурированный язык запросов (sql). Оператор select и вычисления.
- •22. Структурированный язык запросов (sql). Вложенные и многотабличные запросы.
- •23.Структурированный язык запросов (sql). Операторы манипулирования данными.
- •24.Подходы разработки программного обеспечения под ос Windows. Достоинства и недостатки.
- •25.Платформа .Net Framework. Достоинства и недостатки.
- •26.Платформа .Net Framework. Архитектура: fcl, bcl, clr, cil, сборки.
- •27.Платформа .Net Framework. Классификация типов, базовые операции программирования: приведение типов, вызов методов, свойства.
- •28.Ado.Net. Архитектура. DataProvider и DataSet.
- •29.Ado.Net. Соединение с бд, строка подключения, Connection, Command. Основные свойства и методы.
- •30.Ado.Net. Выполнение команд и запросов к бд. Основные свойства и методы: CommandType, ExecuteNonQuery(), ExecuteScalar(), ExecuteReader().
- •31.Ado.Net. Параметризированные запросы. SqlParameter. Основные свойства и методы.
- •32.Ado.Net. Чтение данных и объект DataReader. Основные свойства и методы.
- •33. Ado.Net. Рассоединенный набор данных DataSet. Схема данных.
- •34. Ado.Net. Заполнение рассоединенного набора данных. Адаптер данных SqlDataAdapter. Основные свойства и методы.
- •35. Ado.Net. Класс DataColumn. Основные свойства и методы.
- •36. Ado.Net. Класс DataRow. Основные свойства и методы.
- •37. Ado.Net. Класс DataTable. Основные свойства и методы
- •38. Ado.Net. Задание схемы набора данных вручную (тип и имя отдельных столбцов таблицы, ограничения на столбцы и связи между таблицами).
- •39. Ado.Net. Навигация, поиск и фильтрация данных в DataSet. Основные свойства и методы. Типизированный набор данных.
- •41. Ado.Net. Синхронизация набора данных с бд. Основные свойства и методы. Класс CommandBuilder.
- •42. Схема взаимодействия между браузером и web-сервером. Понятие статических и динамических web-страниц. Особенности asp.Net.
- •43. Asp.Net. Компоненты web-приложения. Структура файла *.Aspx.
29.Ado.Net. Соединение с бд, строка подключения, Connection, Command. Основные свойства и методы.
ConnectionString |
Строка, описывающая параметры подключения к БД |
ConnectionTimeout |
Время ожидания открытия подключения (в секундах) перед тем, как возникнет исключение «невозможно подключиться к БД» |
Database |
Имя базы данных, к которой подключаемся |
State |
Состояние соединения. Принимает значение из перечисления ConnectionState |
BeginTransaction() |
Метод начинает транзакцию в БД |
ChangeDatabase() |
Устанавливает новую БД для использования |
CreateCommand() |
Возвращает объект, реализующий интерфейс iDbCommand, но специфичный для конкретного поставщика данных |
Open() и Close() |
Попытка соединиться и разъединиться с источником данных |
Строка подключения служит для указания параметров подключения к БД. В строке через ; перечислены пары вида <имя_параметра> = <значение>
Параметры строки подключения:
AttachDBFIlenama /Initial File Name |
Используется при подключении к БД представленной файлом (например файл .mdf) |
ConnectTimeout /ConnectionTimeout |
Время ожидания подключения к БД |
Data Source /Server /Address /Addr /Network Address |
Имя или сетевой адрес сервера. Для локальных серверов используется значение localhost |
InitialCatalog / Database |
Имя БД |
IntegratedSecurity /Trusted_Connection |
Если установлено в true или SSPI, то используется имя и пароль пользователя в системе Windows |
PresistSecurity info |
Если установлено в false критическая в плане безопасности информация удаляется сразу после осуществления подключения |
UserID |
Идентификатор пользователя БД |
Password/Pwd |
Пароль пользователя БД. |
Задать строку подключения можно: либо указав её как параметр конструктора объекта соединения, либо при помощи свойства ConnectionString
Строка соединения должна быть задана до вызова метода с Open()
Для Sql Server обязательным является задание в строке подключения источника данных DataSource имени базы InitialCatalog
Способ аутентификации
SqlConnectionStringBuilder предназначен для облегчения построения правильных строк подключения. Отдельные параметры строки задаются как свойства класса.
var con_string = new SqlConnetionStringBuilder
{
DataSource = “(local)”,
InitialCatalog = “Nortwind”,
IntegratedSecutiry = true
};
SqlConnection con = new
SqlConnection(con_string.ToString());
Строка подключения обычно не прописывается в коде программы, а берётся из конфигурационного файла.
Необходимо не забывать закрывать подключение к БД, т.к. СУБД имеет ограничение на количество одновременных подключений.
Для выполнения запросов любых типов в ADO.NET используются объекты класса command.
Для создания объекта command существует 2 способа:
использование конструктора. Класс SqlCommand использует несколько перегруженных конструкторов:
var cmd_1 = new SqlCommand();
var cmd_2 = new SqlCommand (“SELECT * FROM Albums”);
var con = new SqlConection();
var cmd_3 = new SqlCommand (“SELECT * FROM Artists”, con);
На основе объекта connection
Связь с соединением должна быть установлена для любой команды перед выполнением. В общем случае для этого используется свойство Connection
SqlConnection c = new SqlConnection();
SqlCommand cmd = new SqlCommand();
cmd.connection = c;
Свойство Command.Type и Command.Text
Command.Text содержит текст программы.
Command.Type определяет как следует понимать этот текст. Оно может принимать значения:
CommandType.Text – для SQL – инструкций
CommandType.StoredProcedure тескт программы который содержит имя хранимой процедуры, которая находиться в БД
CommandType.TableDirect – для извлечения из БД полной таблицы.
Методы выполнения команд: За подготовкой команды следует её выполнение, до выполнения команда должна быть связана с соединением и соединение должно быть открыто
ExecuteNonQuery() применяется для запросов, не возвращающих данные. Этот метод возвращает суммарное число строк добавленных, изменённых или удалённых в результате выполнения команды. Если выполняется DDL запрос, то этот метод возвращает значение -1.
ExecuteScalar() может быть полезен при выполнении запросов или хранимых процедур, возвращающих единственный результат. Данный метод выполняет команду и возвращает 1 столбец 1 строки 1 результирующего набора данных.
ExecuteRader() выполняет команду и возвращает объект DbDataReader. Тип возвращаемого Reader’а соответствует поставщику. Данный метод используется когда требуется получить набор данных из базы.
Поставщик MS SQL Server поддерживает метод выполнения команды, возвращающий объект класса XmlReader
Это метод ExecuteXmlReader(). Метод поддерживается для SQL Server 2000 и более поздние версий требует, чтобы возвращаемые данные были в формате XML.
У поставщика SQL Server реализован ряд методов класса SqlCommand, позволяющие выполнять Асинхронные операции.
Например:
BeginExecuteNonQuery
BeginExecuteReader
BeginExecuteXmlReader
EndExecuteNonQuery
EndExecuteReader
EndExecuteXmlReader
Использование асинхронных команд полезно в тех случаях, когда необходимо выполнение нескольких операций или хранимых процедур.