"server=localhost;uid=sa;pwd=;database=novelty")

 ' Применение объекта SqlCommandBuilder

 ' для автоматической генерации команд обновления.

Private cbEmployees As SqlCommandBuilder

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

 ByVal e As System.EventArgs) Handles btnLoad.Click

 dsEmployeeInfo = New DataSet()

 LoadCommandBuilder()

 ' Конфигурирование объекта-сетки DataGrid.

 Me.grdDataGrid.PreferredColumnWidth = 110

 Me.grdDataGrid.AllowSorting = True

 ' Вставка данных в объект DataSet.

 daEmployees.Fill(dsEmployeeInfo, "Employees")

 ' Присвоение объекта DataSet объекту DataGrid.

 Me.grdDataGrid.DataSource = _

  dsEmployeeInfo.Tables("Employees")

 Me.btnUpdate.Enabled = True

End Sub

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

 ByVal e As System.EventArgs) Handles btnUpdate.Click

 daEmployees.Update(dsEmployeeInfo, "Employees")

End Sub

Private Sub LoadCommandBuilder()

 Dim param As SqlParameter

 If conn.State = ConnectionState.Closed Then

  conn.Open()

 End If

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

 Dim SQL As String SQL = "Select FirstName, LastName, Department ID, Salary, _

  ID from tblEmployee"

 daEmployees = New SqlDataAdapter(SQL, conn)

'  Создание команды с помощью SqlCommandBuilder.

 cbEmployees = New SqlCommandBuilder(daEmployees)

End Sub

Основная подпрограмма LoadCommandBuilder() вызывается после щелчка на кнопке Load. Она демонстрирует способ явного открытия подключения, возможность избежать возникновения исключительных ситуаций при нескольких последовательных щелчках на кнопке Load и конфигурирование адаптера данных SqlDataAdapter (объект daEmployees) и конструктора команд SqlCommandBuilder (объект cbEmployees). Эти два объекта создаются и инициализируются с помощью их конструкторов, которые принимают значения своих свойств в качестве параметров. Конструктор объекта daEmployees получает строку с командой SELECT и объект подключения, а объект cbEmployees — адаптер данных daEmployees.

НА ЗАМЕТКУ

Только один объект SqlDataAdapter может быть связан только с одним объектом SqlCommandBuilder.

Далее конфигурируется объект-сетка, вызывается метод Fill для загрузки таблицы Employees в объект daEmployees, задается таблица Employees для свойства DataSource объекта daEmployees и автоматически отображаются данные в сетке.

Обработчик события щелчка на кнопке Update содержит только одну строку кода, которая просто вызывает метод Update для объекта daEmployees.

Скомпонуйте проект DataSetCode и щелкните на кнопке DataAdapter Updates в форме frmDataSets. После отображения на экране формы frmUpdates щелкните на кнопке Load. Это приведет к считыванию данных из таблицы Employees, загрузке данных в объект tblEmployees объекта dsEmployeeInfo и отображению их в сетке, как показано на рис. 6.2.

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

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