Чтение онлайн

на главную - закладки

Жанры

Обработка баз данных на Visual Basic®.NET

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

Шрифт:

IF EXISTS (SELECT * FROM sysobjects WHERE name

 'DeleteEmployee' and user_name

 DROP PROCEDURE [dbo].[DeleteEmployee]

GO

create procedure [dbo].[DeleteEmployee] (@Original_ID int)

AS

 SET NOCOUNT ON;

 DELETE FROM tblEmployee

 WHERE (ID = @Original_ID)

GO

Вернемся к коду

приложения. Во-первых, изменим первую строку кода в подпрограмме btnLoad_Click, т.е. вместо вызова подпрограммы LoadCommandBuilder вставим вызов подпрограммы LoadExplicitCode. Кроме того, для отладки явно заданного кода для команды обновления нужно добавить блок Try-Catch в подпрограмму btnUpdate_Click, которая теперь будет иметь приведенный ниже вид.

Private Sub btnUpdate_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles btnUpdate.Click

 Try

daEmployees.Update(dsEmployeeInfo, "Employees")

 Catch es As SqlException

MessageBox.Show(es.Message)

 End Try

End Sub

Наконец, код подпрограммы LoadExplicitCode будет выглядеть так, как показано в листинге 6.5.

Листинг 6.5. Подпрограмма LoadExplicitCode для четырех специализированных команд SQL для адаптера данных daEmployees

Private Sub LoadExplicitCode

 Dim param As SqlParameter

 If conn.State = ConnectionState.Closed Then

conn.Open

 End If

 ' Создание нового объекта DataAdapter.

 daEmployees = New SqlDataAdapter

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

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

 daEmployees.SelectCommand = New SqlCommand

 With daEmployees.SelectCommand

.Connection = conn

.CommandType = CommandType.StoredProcedure

.CommandText = "SelectEmployees"

 End With

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

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

 daEmployees.InsertCommand = New SqlCommand

 With daEmployees.InsertCommand

.Connection = conn

.CommandType = CommandType.StoredProcedure.CommandText = "InsertEmployee"

 End With

 param = daEmployees.InsertCommand.Parameters.Add(_

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

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "FirstName"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.InsertCommand.Parameters.Add( _

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

 param.Direction = ParameterDirection.Input

 param.SourceColumn = "LastName"

 param.SourceVersion = DataRowVersion.Current

 param = daEmployees.InsertCommand.Parameters.Add(_

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

 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

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

Камень Книга седьмая

Минин Станислав
7. Камень
Фантастика:
фэнтези
боевая фантастика
6.22
рейтинг книги
Камень Книга седьмая

Я сделаю это сама

Кальк Салма
1. Магический XVIII век
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Я сделаю это сама

Кровь на эполетах

Дроздов Анатолий Федорович
3. Штуцер и тесак
Фантастика:
альтернативная история
7.60
рейтинг книги
Кровь на эполетах

Сыночек в награду. Подари мне любовь

Лесневская Вероника
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Найди меня Шерхан

Тоцка Тала
3. Ямпольские-Демидовы
Любовные романы:
современные любовные романы
короткие любовные романы
7.70
рейтинг книги
Найди меня Шерхан

Идеальный мир для Лекаря 4

Сапфир Олег
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 4

Релокант. По следам Ушедшего

Ascold Flow
3. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. По следам Ушедшего

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Кодекс Охотника. Книга VII

Винокуров Юрий
7. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.75
рейтинг книги
Кодекс Охотника. Книга VII

Попаданка в семье драконов

Свадьбина Любовь
Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
7.37
рейтинг книги
Попаданка в семье драконов

Новые горизонты

Лисина Александра
5. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Новые горизонты

Скрываясь в тени

Мазуров Дмитрий
2. Теневой путь
Фантастика:
боевая фантастика
7.84
рейтинг книги
Скрываясь в тени