|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 11.1 Применение хранимых процедурПрименение хранимых процедур в приложениях ASP.NET 2.0 Подготовка:1. В меню Start -> Programs -> Microsoft SQL Server запустите программу Query Analyzer. 2. В окне Connect to SQL Server в поле SQL Server введите имя вашего компьютера, установите переключатель в положение Windows Authentification и нажмите OK. 3. Выполните команду use Northwind и убедитесь, что текущей базой данных стала база данных Northwind. 4. Выполните команду CREATE PROCEDURE dbo.emp_insert @lastname nvarchar(20), @firstname nvarchar(10), @title nvarchar(30) AS INSERT dbo.employees (lastname, firstname, title) VALUES (@lastname, @firstname, @title) Эта команда создает в базе данных Northwind хранимую процедуру emp_insert, которая потребуется нам в нашей лабораторной. Эта хранимая процедура принимает три текстовых параметра - @lastname, @firstname и @tile и использует полученные данные для вставки новой записи в таблицу Employees. Задание:Создайте приложение ASP.NET на основе шаблона ASP.NET Web Site в каталоге C:\Labs\EmployeeProc. Создайте в этом приложении Web-форму, аналогичную представленной на рис. 11-1. На этой форме должны быть размещены три текстовых поля - для ввода данных о фамилии, имени и должности соответственно и три объекта Label - для вывода поясняющих надписей. При нажатии на кнопку "Вставить запись" должна производиться вставка данных в таблицу Employees базы данных Northwind на вашем локальном сервере SQL Server. Для вставки должна вызываться хранимая процедура emp_insert (см. раздел "Подготовка".
Рис. 11-1 Решение:1. Создайте в Visual Studio.NET 2005 новый проект на основе шаблона ASP.NET Web Site. При создании в поле Location введите C:\Labs\EmployeeProc. После создания приложения форма Default.aspx откроется в окне дизайнера автоматически. 2. Поместите на форму три элемента управления TextBox. Настройте для них значения свойства (ID) как txtLast, txtFirst и txtTitle соответственно. 3. Разместите над каждым текстовым полем объект Label (надписи для полей). Для свойства Text объектов Label настройте значения "Фамилия:", "Имя:" и "Должность:" соответственно. 4. Разместите под текстовыми полями кнопку. Значение свойства (ID) этой кнопки должно быть Button1. Настройте для нее значение свойства Text как "Вставить запись". 5. Щелкните правой кнопкой мыши по объекту Default.aspx в окне Solution Explorer и в контекстном меню выберите View Code. Откроется окно редактора кода со страницей Default.aspx.vb. 6. Добавьте в раздел General - Declarations (самая верхняя часть страницы кода, перед строкой Partial Class _Default) следующий код: Imports System.Data Imports System.Data.SqlClient 7. В списке объектов в верхнем левом углу редактора кода выберите объект Button1, а в списке событий справа - событие Click. Будет сгенерирована событийная процедура Button1_Click(). Добавьте в нее следующий код: 'Создаем объект соединения Dim conn As New SqlConnection _ ("data source=london;integrated security=true;" & _ "initial catalog=Northwind") 'Создаем объект SqlCommand, представляющий хранимую процедуру Dim myCmd As SqlCommand = New SqlCommand("emp_insert", conn) myCmd.CommandType = CommandType.StoredProcedure 'Создаем объекты параметров, настраиваем их свойства и добавляем в коллекцию Dim oLastName As SqlParameter oLastName = New SqlParameter("@LastName", SqlDbType.Char) oLastName.Direction = ParameterDirection.Input oLastName.Value = txtLast.Text myCmd.Parameters.Add(oLastName) Dim oFirstName As SqlParameter oFirstName = New SqlParameter("@FirstName", SqlDbType.Char) oFirstName.Direction = ParameterDirection.Input oFirstName.Value = txtFirst.Text myCmd.Parameters.Add(oFirstName) Dim oTitle As SqlParameter oTitle = New SqlParameter("@Title", SqlDbType.Char) oTitle.Direction = ParameterDirection.Input oTitle.Value = txtTitle.Text myCmd.Parameters.Add(oTitle) 'Устанавливаем соединение с базой данных conn.Open() 'Выполняем хранимую процедуру myCmd.ExecuteNonQuery() 'Разрываем соединение conn.Close() Нажмите на кнопку F5, чтобы проверить работу вашего приложения. Убедиться, что вставка данных произведена успешно, можно, выполнив в Query Analyzer запрос select * from employees
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||