Рассмотрим пример чтения таблицы с помощью объекта Adapter из базы данных посредством выбора нужных данных и передачи их объекту DataSet. Очень удобно прочитать таблицу, записанную в DataSet, используя элемент управления DataGridView (сетка данных, т. е. таблица данных), указав в качестве источника данных для сетки DataGridView объект DataSet:

[vb]DataGridView1.DataSource = DATASET[/vb]

Поскольку нам нужен элемент управления DataGridView, мы создаем новый проект с экранной формой. Для этого, как обычно, запускаем VB2010, заказываем новый проект New Project шаблона Windows Forms Application. Из панели Toolbox добавляем в форму элемент управления DataGridView и растягиваем его на всю форму.

Далее при обработке события загрузки формы Form1_Load пишем программный код:

Чтение данных из БД в сетку данных DataGridView

[vb]‘ Программа читает из базы данных таблицу на сетку данных DataGridView с
‘ использованием объектов Command, Adapter и DataSet.
Imports System.Data.OleDb
PublicClass Form1
Private Sub Form1_Load(ByVal senderAs Object,ByVal e As System.EventArgs)Handles MyBase.Load
Me.Text = "Чтение таблицы из базы данных:"
Dim CONNECTION AsNew OleDbConnection("Data Source=""C:\vic.mdb"";User ID=Admin;Provider=""Microsoft.Jet.OLEDB.4.0"";")
CONNECTION.Open()
Dim COMMAND AsNew System.Data.OleDb.OleDbCommand("Select * From (БД телефонов)", CONNECTION)
‘ Dim COMMAND As New OleDbCommand("SELECT * FRO" &
‘ "M (БД телефонов) WHERE (фио LIKE ‘м%’)", CONNECTION)
‘ Создаем объект Adapter и выполняем SQL-запрос:
Dim ADAPTER AsNew OleDbDataAdapter(COMMAND)
‘ Создаем объект DataSet:
Dim DATASET AsNew DataSet
‘ Заполняем Dataset результатом SQL-запроса:
ADAPTER.Fill(DATASET, "БД телефонов")
DataGridView1.DataSource = DATASET
DataGridView1.DataMember = "БД телефонов"
CONNECTION.Close()
End Sub
EndClass[/vb]

Как видно из текста программы, вначале создаем объект Connection, передавая строку подключения. Затем, создавая объект Command, задаем SQL-команду выбора всех записей из таблицы БД телефонов. Здесь мы можем задать любую SQL-команду, в комментарии приведен пример такой команды, которая содержит SELECT и LIKE: выбрать из таблицы БД телефонов только записи, в которых поле ФИО начинается на «м». Оператор LIKE используется для поиска по шаблону (pattern matching) вместе с символами универсальной подстановки (метасимволами) «звездочка» (*) и «знак вопроса» (?). Строка шаблона заключена в одинарные кавычки. Заметим также, что большинство баз данных использует символ % вместо значка * в like-выражениях.

Далее при создании объекта Adapter выполняем SQL-команду и при выполнении метода Fill заполняем объект DataSet таблицей, полученной в результате SQL-запроса. Затем указываем в качестве источника данных для сетки данных DataGridView1 объект DataSet. Этого оказывается достаточным для вывода на экран результатов SQL-запроса.

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

Заметим, что здесь с помощью визуального проектирования выполнено только перетаскивание в форму сетки данных DataGridView, остальное сделано программно, что обеспечивает большую гибкость программы.