Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

Прайс Кевин Т.

Шрифт:

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "DepartmentID"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.InsertCommand.Parameters.Add( _

New SqlParameter("@Salary", SqlDbType.Money))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "Salary"

 param.SourceVersion = DataRowVersion.Current

 ' Создание специализированной

 ' хранимой процедуры для команды Update.

 daEmployees.UpdateCommand = New SqlCommand

 With daEmployees.UpdateCommand

.Connection = conn

.CommandType = CommandType.StoredProcedure

.CommandText = "UpdateEmployee"

 End With

 param = daEmployees.UpdateCommand.Parameters.Add( _

New SqlParameter("@FirstName@, SqlDbType.VarChar, 50))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "FirstName"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.UpdateCommand.Parameters.Add( _

New qlParameter("@LastName", SqlDbType.VarChar, 70))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "LastName"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.UpdateCommand.Parameters.Add( _

New SqlParameter("@DepartmentID, SqlDbType.Int))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "DepartmentID"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.UpdateCommand.Parameters.Add( _

New SqlParameter("@Salary, SqlDbType.Money))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "Salary"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.UpdateCommand.Parameters.Add( _

New SqlParameter("@Original_ID, SqlDbType.Int))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "ID"

 param.SourceVersion = DataRowVersion.Original

 ' Создание специализированной

 ' хранимой процедуры для команды Delete.

 daEmployees.DeleteCommand = New SqlCommand

 With daEmployees.DeleteCommand

.Connection = conn

.CommandType = CommandType.StoredProcedure

.CommandText = "DeleteEmployee"

 End With

 param = daEmployees.DeleteCommand.Parameters.Add(_

New SqlParameter("@Original_ID", SqlDbType.Int))

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "ID"

 param.SourceVersion = DataRowVersion.Original

End Sub

НА ЗАМЕТКУ

Код присвоения значений для каждого из объектов-параметров мог быть более компактным за счет вызова другой перегруженной версии метода Add. Эта альтернативная версия принимает значения для всех необходимых свойств-параметров в одном вызове метода с длинным списком параметров.

Невзирая на большой размер, код подпрограммы LoadExplicitCode имеет очень простую и понятную структуру, если определен интерфейс (параметры и типы) для хранимых процедур. Для всех свойств объекта Command создается новый экземпляр объекта SQLCommand. Ему присваивается общий объект Connection и задаются значения свойств CommandType и CommandText. Затем нужно создать и конфигурировать все параметры каждой команды.

Скомпонуем проект DataSetCode и снова проверим работоспособность полученного приложения. Оно будет работать как и прежде, но теперь в подпрограмме LoadExplicitCode используются специализированные команды для обновления базы данных. Этот подход требует больших усилий по созданию кода, но является более гибким, предлагает более высокую производительность и централизованное управление хранимыми процедурами.

Вставка бизнес-логики в команды обновления

  • Читать дальше
  • 1
  • ...
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: