НА ЗАМЕТКУ

Еще одно отличие между версиями объекта Command для разных провайдеров данных заключается в использовании значений свойства CommandType. Все они поддерживают значения Text и StoredProcedure, а объекты OleDbCommand и SqlCommand поддерживают еще одно, третье возможное значение — TableDirect. Это позволяет эффективно загружать все содержимое таблицы за счет установки значения TableDirect для свойства CommandType и имени таблицы для свойства CommandText.

Продолжим работу с формой, показанной на рис. 4.3.

1. Добавим еще одну кнопку сразу под кнопкой btnConnection, перетаскивая пиктограмму кнопки из панели элементов управления.

2. В окне свойств Properties установите значение btnCommand для свойства Name и значение Command для свойства Text.

3. Добавьте для кнопки код, показанный в листинге 4.2.

Листинг 4.2. Код открытия подключения к базе данных и подготовки объекта Command

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

 ByVal e As System.EventArgs) Handles btnCommand.Click

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

 Dim cnn As SqlConnection = New SqlConnection( _

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

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

 Dim cmd As SqlCommand = New SqlCommand() txtResults.Clear()

 ' Открытие подключения cnn.Open()

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

 cmd.Connection = cnn

 cmd.CommandType = CommandType.Text

 cmd.CommandText = _

  "Select au_lname, state from authors"

 ' Вывод текста команды

 txtResults.Text = "Command String:" & ControlChars.CrLf

 txtResults.Text = txtResults.Text & ControlChars.Tab & cmd.CommandText() & ControlChars.CrLf

End Sub

После запуска на выполнение приложения DataProviderObjects щелкните на кнопке Command, и в текстовом поле будет показана команда SQL, которая находится в свойстве CommandText объекта SqlCommand, а именно: SELECT au_lname, state FROM authors.

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

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