3. Наконец, создайте код извлечения данных из базы данных и вставки их в сетку DataGrid1. Для этого дважды щелкните на форме, и в окне просмотра кода автоматически появится процедура Form1_Load. Введите в ней следующий код:

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

 ByVal e As System.EventArgs) Handles MyBase.Load

 SqlDataAdapter1.Fill(DataSet11)

End Sub

4. Запустите полученное приложение с помощью команды меню Debug→Start (Отладка→Запуск), и в окне приложения будут отображены данные из таблицы tblCustomer.

Здесь следует отметить одну особенность данного приложения. Все внесенные в нем изменения данных не будут отражены и сохранены в базе данных. Для их сохранения нужно создать дополнительный код вызова метода объекта DataAdapter. Эта тема рассматривается далее, в разделе об обновлении записей.

<p>Создание приложения для просмотра данных</p>

В предыдущем примере показан простейший способ связывания данных на основе извлечения всей таблицы и отображения ее в элементе управления DataGrid. А как отобразить только одну запись? Для этого потребуется использовать элементы управления TextBox и Button, а также создать дополнительный код.

Чтобы создать приложение для просмотра данных по одной записи из таблицы tblCustomer, выполните ряд действий.

 1. В Visual Studio .NET создайте новый проект на основе Windows Forms и откройте новую форму Form1. Создайте в ней два текстовых поля, txtFirstName и txtLastName, на основе элемента управления TextBox.

2. Создайте объекты SqlConnection, SqlDataAdapter и DataSet для извлечения данных о клиентах из таблицы tblCustomer. (Необходимые для этого действия аналогичны действиям из предыдущего примера.) Как и прежде, не забудьте вызвать метод Fill объекта SqlDataAdapter в коде для инициализации объекта DataSet. (В данном примере объект DataSet имеет имя DsCustomer1. - Прим. ред.)

3. Теперь нужно создать связь между двумя текстовыми полями (txtFirstName и txtLastName) и соответствующими полями в базе данных. Для этого щелкните на текстовом поле txtFirstName и в группе свойств Data выберите подгруппу свойств (DataBindings). Это свойство содержит несколько свойств, которые следует установить для связывания данных таблицы с текстовым полем.

4. Выберите поле FirstName таблицы tblCustomer для свойства Text текстового поля txtFirstName. Для этого щелкните в правой части поля со списком возле свойства Text. Выберите набор данных DsCustomer1, таблицу tblCustomer и поле FirstName, как показано на рис. 1.14.

РИС. 1.14. Создание связи между данными из поля базы, данных и текстовым полем с помощью свойств (DataBindings)

5. Аналогично свяжите текстовое поле txtLastName с полем LastName таблицы tblCustomer.

6. Запустите приложение, в текстовых полях которого будут отображены имя и фамилия первого клиента.

Возможности этого приложения весьма ограниченны, потому что в нем можно просматривать только по одной записи и нельзя редактировать данные. Однако оно является базовым приложением, на основе которого будут созданы несколько других примеров с более широкими возможностями рабочего приложения для полномасштабной работы с базами данных.

Даже в таком ограниченном примере очевидны преимущества способов связывания данных на платформе .NET: они более гибки, чем аналогичные способы в Visual Basic 6. Например, упомянутая гибкость достигается за счет способности управлять процессом связывания с помощью кода.

Попробуем теперь создать код для перехода от одной записи к другой с помощью перечисленных ниже действий.

1. Создайте две кнопки, btnNext и btnPrevious, для перехода к следующей и предыдущей записям.

2. Дважды щелкните на кнопке btnNext и в автоматически появившемся окне редактирования кода с определением процедуры btnNext_Click вставьте следующий код:

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

 ByVal e As System.EventArgs) Handles btnNext.Click

 Me.BindingContext(DsCustomer1, "tblCustomer").Position += 1

End Sub

3. Дважды щелкните на кнопке btnPrevious и в автоматически появившемся окне редактирования кода с определением процедуры btnPrevious_Click вставьте код

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

 ByVal e As System.EventArgs) Handles btnPrevious.Click

 Me.BindingContext(DsCustomer1, "tblCustomer").Position -= 1

End Sub

4. Снова запустите приложение и убедитесь в том, что с помощью созданных кнопок можно переходить к следующей и предыдущей записям. (Учтите, что эта программа будет работать только при наличии нескольких записей в таблице.)

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

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