1. Создайте хранимую процедуру
для таблицы сотрудников в базе данных Northwind в MSSQL (функция представляет собой нечеткий запрос на основе фамилии):
CREATE PROCEDURE Employess_Sel @lastname nvarchar (20).
КАК
выберите фамилию из списка «Сотрудники», где фамилия типа «%» + @lastname + «%»
ВПЕРЕД
2. Разработка формы
1. Создайте новое веб-приложение ASP.NET, назовите его WebSql, выберите путь сохранения и нажмите кнопку ОК.
2. Добавьте в форму метку, текстовое поле и кнопку «Кнопка», затем добавьте элемент управления DataGrid, щелкните правой кнопкой мыши элемент управления DataGrid и выберите «Генератор свойств», затем выберите столбец в открывшемся окне и снимите флажок, прежде чем автоматически создайте столбец, затем добавьте привязанный столбец к выбранному столбцу, задайте для заголовка значение LastName и установите для поля данных значение LastName. Нажмите ОК.
3. Создайте промежуточный слой данных.
Щелкните решение правой кнопкой мыши, выберите «Библиотека классов нового проекта», назовите его ClaSQL, выберите путь сохранения и нажмите «ОК». Добавьте следующий код в открытую библиотеку классов:
Импортирует System.Data.SqlClient.
Общественный класс Класс1
Dim scon As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=123")
'Создание процесса запроса Public Function Emp_Sel(ByVal Lastname As String) As DataSet
scon.Open()
scon.Close()
'Определить объект команды и использовать хранимую процедуру Dimscom As New SqlCommand
scom.CommandType = CommandType.StoredProcedure
scom.CommandText = "Employess_Sel"
scom.Connection = scon
'Определяем адаптер данных и устанавливаем параметр Dim sda как новый SqlDataAdapter(scom)
sda.SelectCommand.Parameters.Add("@lastname", SqlDbType.NVarChar).Value = фамилия
'Определить объект набора данных и заполнить набор данных Dim ds As New DataSet
Пытаться
sda.Fill(ds)
Поймать бывшего как исключение
Конец попытки
Возврат дс
Конечная функция
Завершить класс
4. Создайте ссылку на промежуточный уровень данных (библиотеку классов).
Щелкните правой кнопкой мыши проект ClaSql, выберите «Создать», затем щелкните правой кнопкой мыши «Ссылку» проекта WebSql, выберите «Добавить ссылку», а затем выберите проект для добавления. проект ClaSql в выбранное поле «Компоненты» и нажмите «ОК».
5. Разработка кода формы WebForm1.aspx.
Откройте файл WebForm1.aspx в проекте WebSql, дважды щелкните кнопку «Кнопка», чтобы открыть окно кода. Полный код выглядит следующим образом:
Public Class WebForm1.
Наследует System.Web.UI.Page
«Код формы опущен». Кнопка поиска eventPrivate Sub Button1_Click (отправитель ByVal As System.Object, ByVal e As System.EventArgs) Обрабатывает Button1.Click
'Определить переменную для хранения ввода текстового поля и преобразовать ее в целях безопасности. Dim Lastname As String = TextBox1.Text
фамилия = фамилия.Заменить("&", "&")
Lastname = Lastname.Replace("<", "")
фамилия = фамилия.Заменить(">", "")
фамилия = фамилия.Заменить("'", "'")
Lastname = Lastname.Replace("chr(13)", "<br>")
Lastname = Lastname.Replace("chr(10)", "<br>")
'Создаем новый экземпляр класса и вызываем процесс запроса для привязки данных Dim myCla As New ClaSql.Class1
DataGrid1.DataSource = myCla.Emp_Sel(lastname)
DataGrid1.DataBind()
Конец субтитра
Конечный класс
шестой: Примечания
. Из соображений безопасности при работе с базой данных следует принять следующие меры:
1. Используйте хранимые процедуры.
2. Не используйте учетные записи SA.
3. Используйте пароли для сложных учетных записей.
4. Для вставки данных попробуйте использовать разные учетные записи для удаления и других операций и устанавливайте соответствующие разрешения на вставку или удаление только для каждой отдельной учетной записи.
5. Операции с базой данных должны быть максимально инкапсулированы в средний уровень (библиотеку классов), чтобы код можно было реализовать. Повторное использование также. облегчает будущие модификации.