Дата публикации статьи: 25.02.2004 15:27

Виталий Тихвинский
Связь с базой данных через объекты в Visual Basic

Необходимые элементы управления и их настройка


Рис 1 Связь с Базой Данных

Для связи с Базой Данных необходимо на Форме разместить объект DataBase (Data), а так же элементы управления, и связать их, как показано на рисунке 1.
Основным элементом управления является TextBox в однострочном режиме, но взависимости от просматриваемого типа поля, элемент управления может меняться, например, для просмотра поля с картинками записанного в ACCESS нужно применить элемент управления OLE. Для просмотра всех полей таблицы часто применяют элемент управления DBGrid, однако, при помощи него невозможно просмотреть поле с картинкой. При связи DBGrid c DataBase устанавливается только имя DataBase, т.к. все поля таблицы подключаются автоматически к этому элементу управления.

Элемент управления DBGrid
Установка DBGrid

Данный элемент упраления необходимо установить на панель инструментов, т.е. нажать правую клавишу мыши на ней, открыть пункт контекстного меню Components и выбрать имя элемента (Microsoft Data Bound Grid Control) из списка.


Рис 2 DBGrid с загруженной таблицей

Установленный DBGrid на форму представляет собой таблицу через которую можно просматривать и редактировать данные.

Свойства DBGrid
  • AllowAddNew – При значении True позволяет добавлять новую запись в таблицу.
  • AllowDelete – При значении True позволяет удалять запись в таблице.
  • AllowUpdate – При значении True позволяет редактировать запись в таблице.
Элемент управления DataBase (Data)

Данный элемент управления непосредственно связан с базой данных и конкретной таблицей базы данных, через него другие элементы управления связываются с полями таблицы.

Свойства объекта DataBase
  • DataBaseName – Связь с базой данных через указанный полный путь к ней.
  • RecordSource - Связь с таблицей б.д. через указанное имя
  • Exclusive – При значении True база доступна только для открывшего, false – для всех пользователей.
  • Conect – Тип связываемой базы данных.
  • ReadOnly - При значении True база открывается только для чтения, false – и для записи.
Перемещение по таблице Базы Данных

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

Кнопки перемещения объекта DataBase по таблице Базы Данных

Необходимо кликнуть мышью по указанной кнопке на рисунке 3.


Рис 3 Кнопки перемещения объекта DataBase

Методы перемещения объекта DataBase
DataBase1.Recordset.МетодПеремещения (Имя DataBase)
Имя Методов:
  • MoveFirst – На первую запись
  • MoveLast – На последнюю запись
  • MovePrevious – На предыдущую запись
  • MoveNext - На последующую запись
Функции определение местонахождения указателя при перемещении по таблице
DataBase1.Recordset.Функция (Имя DataBase)
Имена функций:
  • EOF – Равно True если указатель за концом таблицы
  • BOF - Равно True если указатель перед началом таблицы
Перезагрузка базы данных

Если необходимо подключить новую базу данных во время работы программы в объекте DataBase, или сменить таблицу в указанном объекте, необходимо произвести перезагрузку методом Refresh. Пример

‘смена таблицы в объекте DataBase названного Data1

Data1. RecordSource = “Таблица 1” 

‘перезагрузка базы данных

Data1.Refresh

Поиск в базе данных методами DataBase

Методы поиска DataBase

DataBase1.Recordset.МетодПоиска   “СроковоеВыражениеОпределПоиск” (Имя DataBase)
Методы поиска
  • FindFirst – Найти первую запись
  • FindLast – Найти последнюю запись
  • FindPrevious – Найти предыдущую запись
  • FindNext - Найти последующую запись
Формат строкового выражения определяющего тип поиска в активной таблице:
“[Имя поля] = ‘Значение’”
Если имя поля состоит из одного слова то квадратные скобки обрамляющие имя опускаются.
За именем идет знак сравнения поля со значением:
  • = - равно
  • <> - неравно
  • > - больше
  • < - меньше
  • >= - больше либо равно
  • <= - меньше либо равно
Если поиск осуществляется в текстовом поле, то значение берется в апострофы, при числовом поле апострофы опускаются.
Можно объединить несколько условий в одно применив логический оператор AND или OR.

Функция определяющая обнаруженную запись по указанному условию
 
DataBase1.Recordset.Функция (Имя DataBase)
Имя функции NoMatch – Равно True если запись необнаружена, False – в противном случаи.
Операторы определяющие вид посика в строковых полях
  • Option compare text – поиск без учета регистра
  • Option compare Binary - поиск с учетом регистра
Работа с записями через DataBase
DataBase1.Recordset.Метод (Имя DataBase)
Имена методов
  • AddNew – добавить новую запись
  • Delete - удалить текущую запись
  • Update – записать текущую запись