
- •Задания для самостоятельной работы
- •Тема 1. Разработка клиентского приложения в среде ado.Net
- •Тема 2. Параллельное выполнение транзакций
- •Тема 3. Использование olap средств (дополнительно)
- •Приложение. Построение клиентского приложения в среде ado.Net
- •Организация интерфейса
- •Аутентификация пользователя
- •Вариант шифрования пароля
- •Выполнение хранимых процедур Подготовка
- •Подготовка соединения
- •Подготовка команды
- •Подготовка параметров
- •Выполнение команды select
- •Выполнение команды select count(*)
- •Выполнение других команд
- •Использование объекта типа DataSet
- •Создание фрагмента базы данных
- •Связывание таблиц с оконными формами
- •Именование объектов
- •Обмен данными с базой данных
- •Редактирование схемы
Выполнение команды select count(*)
Если необходимо выполнить команду SELECT, которая гарантированно возвращает только одно значение (например, SELECT COUNT(*) FROM T), в этом случае используется метод ExecuteScalar(). Возвращаемое значение должно быть преобразовано необходимым образом, например:
textBox2.Text = Convert.ToString(cmd.ExecuteScalar());
Выполнение других команд
Если нужно выполнить команды SQL INSERT, DELETE, UPDATE, которые не возвращают результатов, или хранимую процедуру, в которой, возможно, определены выходные (OUTPUT) параметры или RETURN VALUE, в этом случае используется метод ExecuteNonQuery().
В случае хранимой процедуры значения параметров, определенных как выходные (OUTPUT) или RETURN VALUE, используются так же, как и в ADO.
Использование объекта типа DataSet
На стороне клиента создается некоторый фрагмент базы данных, представляющий собой объект типа DataSet. Этот фрагмент состоит из нескольких связанных между собою (по значениям первичных и внешних ключей) таблиц (объектов типа Table). Для каждой таблицы в оконной форме должен быть создан свой элемент отображения данных типа DataGrid.
Объекты типа DataSet создаются с помощью мастера.
Создание фрагмента базы данных
Прежде всего, необходимо из базы данных выбрать необходимые таблицы и объявить их на стороне клиента. Для этого выполняются следующие действия.
1. Необходимо визуализировать в проекте окно DataSources, в котором отображаются все объекты базы данных. Для этого нужно выбрать в главном меню элемент Data; откроется вспомогательное меню, содержащее элементы Show Data Source и Add New Data Source.
Если источники данных еще не определены, или требуется определить новый источник данных, можно сразу выбрать Add New Data Source.
Можно всегда выбирать Show Data Source; тогда если нужно определить новый объект данных, в появившемся окне следует выбрать Add New Data Source. В дальнейшем порядок работы одинаков.
2. Стартует Мастер конфигурирования исходных данных.
В первом окне предлагается выбрать конкретный источник данных. В нашем случае мы используем соединение с базой данных, поэтому следует выбрать Database и нажать кнопку next.
3. Открывается окно для формирования строки подсоединения к базе данных. Если строка была создана, ее можно увидеть в текстовом поле и выбрать.
Если нужно создать новую строку подсоединения, следует нажать кнопку new connection. В открывшемся окне Choose Data Source необходимо выбрать требуемый для установки соединения провайдер данных – в нашем случае это MS SQL Server, затем нажать кнопку Continue.
4. Открывается окно для настройки параметров подсоединения.
В поле Server Name из раскрывающегося списка следует выбрать имя машины, с которой устанавливается соединение.
Далее следует выбрать необходимые данные для аутентификации пользователя. Если выбирается аутентификация SQL Server – Use SQL Server Authentification, тогда становятся доступными текстовые поля User Name и Password, в которые следует ввести необходимые данные. Для выполнения лабораторного практикума рекомендуется отметить поле Save my password, с тем, чтобы в дальнейшем не связываться с необходимостью какими-то другими средствами передавать пароль при установке соединения с базой данных. В реальных условиях сохранять пароль в строке подсоединения не следует.
Наконец, в поле Select or enter a database name следует ввести или выбрать из раскрывающегося списка имя базы данных: для проверки правильности задания строки подсоединения можно нажать кнопку Test Connection.
Если соединение с базой данных устанавливается правильно, возвращаемся в предыдущее окно. В текстовом поле можно будет увидеть имя строки подсоединения. Если была выбрана аутентификация SQL Server, следует отметить позицию Yes, include…, отражающую необходимость запоминания пароля в строке соединения.
Если теперь в данном окне раскрыть символ +, которым помечен текст Connection string, можно увидеть сформированную строку подсоединения.
Далее следует нажать кнопку next, подтвердить необходимость сохранения строки подсоединения (Yes) и опять нажать кнопку next.
5. Появляется окно, в котором отражаются все допустимые объекты выбранной базы данных – Table, View, Stored Proc, Function. Знаком + отмечены те позиции, для которых в базе данных определены соответствующие объекты (в нашем случае, это, по крайней мере, Table и Stored Proc).
Если раскрыть знак +, появится список таблиц, в котором каждая таблица также помечена символом + (раскрыв его, получим список колонок таблицы). Необходимо отметить те объекты (таблицы со всеми или выбранными колонками), которые должны быть размещены в объекте DataSet.
Ниже в текстовом поле, отмеченном как DataSet Name, выведено имя объекта, предлагаемое Мастером. При желании, его можно изменить.
По окончании следует нажать кнопку Finish.
В результате выполнения указанных действий в окне проекта Data Sources (если его нет, необходимо выбрать в главном меню Data Show Data Source) будут отражены выбранные объекты базы данных.