Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

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

Шрифт:

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. Эта тема рассматривается далее, в разделе об обновлении записей.

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

В предыдущем примере показан простейший способ связывания данных на основе извлечения всей таблицы и отображения ее в элементе управления 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. Снова запустите приложение и убедитесь в том, что с помощью созданных кнопок можно переходить к следующей и предыдущей записям. (Учтите, что эта программа будет работать только при наличии нескольких записей в таблице.)

Объект BindingContext предоставляет средства организации перехода к другим записям в приложении для работы с данными. При создании таких приложений в предыдущих версиях Visual Basic для организации переходов к другим записям требовалось использовать элемент управления Data. На платформе .NET выделен, специальный объект BindingContext, который отвечает за связывание данных. (Иными словами, выделение небольшого специализированного объекта из более крупного общего объекта позволяет распределить специализированные функции среди нескольких объектов меньшего размера.) В объектно-ориентированном программировании разработчик стремится создавать специализированные объекты, чтобы упростить структуру программы и сделать ее более гибкой.

  • Читать дальше
  • 1
  • ...
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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