Читаем Обработка баз данных на Visual Basic®.NET полностью

Затем создайте код подпрограммы btnNonQuery_Click, который приведен в листинге 4.4.

Листинг 4.4. Код создания таблицы базы данных с помощью объектов пространства имен OleDb

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

 ByVal e As System.EventArgs) Handles btnNonQuery.Click

 ' Создание экземпляра объекта Connection.

 Dim cnn As OleDbConnection = New OleDbConnection( _

  "provider=SQLOLEDB;server=localhost;uid=sa;database=pubs")

 Dim sql As String Dim result As Integer

 ' Создание экземпляра объекта Command.

 Dim cmd As OleDbCommand = New OleDbCommand()

 ' Указание подключения и текста команды

 cmd.Connection = cnn

 cmd.CommandType = CommandType.Text

 ' Указание команды SQL для создания новой таблицы

 sql = "CREATE TABLE tblStateZipCodes (" & _

  "ZipCode char (5) NOT NULL, " & _

  "State char (2) NOT NULL) "

 MsgBox(sql) cmd.CommandText = sql

 ' Открытие подключения перед вызовом метода ExecuteNonQuery.

 cnn.Open()

 ' Для обработки исключительных ситуаций нужно поместить

 ' код в блоке Try-Catch, потому что неудачное выполнение

 ' команды ТАКЖЕ генерирует ошибку времени выполнения.

 Try

  result = cmd.ExecuteNonQuery()

 Catch ex As Exception

  ' Отображение сообщения об ошибке.

  MessageBox.Show(ex.Message)

 End Try

 ' Вывод результатов выполнения команды.

 If result = -1 Then

  MessageBox.Show("Command completed successfully")

  ' MessageBox.Show("Команда выполнена успешно")

 Else

  MessageBox.Show("Command execution failed")

  ' MessageBox.Show("Команда не выполнена")

 End If

 cnn.Close()

End Sub

После запуска полученного приложения и щелчка на кнопке ExecuteNonQuery сначала появится диалоговое окно с сообщением об успешном выполнении команды. Правильность выполнения команды можно проверить, просматривая список таблиц базы данных pubs в диалоговом окне Server Explorer интегрированной среды разработки Visual Studio .NET (которое описывается в главе 1, "Основы построения баз данных") или в программе SQL Server Enterprise Manager (которая рассматривается в главе 3, "Знакомство с SQL Server 2000").

При повторном щелчке на кнопке ExecuteNonQuery появятся два диалоговых окна с сообщениями: одно с сообщением о возникшей исключительной ситуации (оно создается блоком обработки исключительных ситуаций try-catch), а другое — о неудачном выполнении команды.

Аналогичным способом можно создать представление или хранимую процедуру. Для создания представления EmployeeJobs_view, которое возвращает отсортированный по должностям перечень сотрудников с указанием их имен, фамилий и должностей, замените команду SQL в листинге 4.4 приведенной ниже командой.

sql = "CREATE VIEW EmployeeJobs_view AS" & _

 "SELECT TOP 100 PERCENT jobs. job_desc," & _

 "employee.fname, employee.lname" &_

 "FROM jobs INNER JOIN" & _

 "employee ON jobs. job_id = employee. job_id &_

 "ORDER BY jobs.job_desc"

НА ЗАМЕТКУ

Для включения предложения ORDER BY в определение представления с сортировкой результатов нужно включить в команду SELECT предложение ТОР.

Для создания хранимой процедуры, которая принимает один параметр и возвращает значение, нужно изменить эту команду SQL, как показано в листинге 4.5.

Листинг 4.5. Код, содержащий команду SQL для создания хранимой процедуры AuthorsInState1

sql = "CREATE PROCEDURE AuthorsInState1 @State char(2)" & _

 " AS declare @result int" & _

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT