Доступ к данным в Visual Basic 6.0
ODBC
Технология разработки программного обеспечения, использующего базы данных
При создании программного обеспечения принято использовать так называемую 3-х уровневую систему разработки.
Интерфейс |
Алгоритмы обработки данных |
БД |
При таком подходе обеспечивается автономная разработка каждого из трёх компонентов, т.е. их независимость друг от друга. Разработчик может свободно заменять каждый из них, не беспокоясь об их совместимости и о существенном изменении (если оно вообще понадобится) исходного кода приложения.
Во всех средах разработки программных приложений, взаимодействующих с базами данных, используется следующая схема:
База данных → Connection → Dataset → DataSource → Визуальные компоненты.
В некоторых программных оболочках эти компоненты могут быть скрыты в одном или, наоборот, разделены на несколько компонент в приложении, но общая структура остаётся той же.
Connection – объекты для подключения ко всей БД.
Dataset – объекты для временного хранения и манипулирования данными внутри программы.
DataSource – объекты, предназначенные для связывания визуальных элементов с Dataset.
Все данные, с которыми взаимодействует приложение, хранятся в Dataset. Существует несколько алгоритмов закачки данных в Dataset (например, в Access в Dataset может закачиваться вся таблица или только одна запись). В соответствии с этим существует 2 способа доступа к данным: реляционный и навигационный метод.
Навигационный способ – это способ, при котором вся таблица скачивается в Dataset. При этом скорость работы с данными велика, т.к. все данные доступны в оперативном режиме, однако это затрачивает значительные объемы памяти. В памяти между таблицами устанавливается связь. Перемещаясь по одной таблице от записи к записи, из 2-й таблицы отображаются только связанные записи.
Реляционный способ основан на скачивании из БД только той записи, к которой обращается пользователь. Преимущества и недостатки этого подхода противоположны преимуществам и недостаткам навигационного подхода: экономится память используемая приложением, однако происходят значительные временные затраты на работу с записями.
На настоящий момент наиболее оптимальным считается сочетание этих подходов.
ODBC (Open Database Connectivity) – это программная система, позволяющая обращаться к любой БД. Для того чтобы иметь возможность использовать механизм ODBC разработчик БД должен также разработать и драйверы для этой системы.
БД |
БД |
БД |
Access |
Oracle |
Paradox |
ODBC |
Access |
Oracle |
Paradox |
Язык программирования |
… |
… |
При взаимодействии БД, написанной на одном из приложений, поддерживающих ODBC, идёт преобразование внутреннего представления данных в виде такой БД, которую поддерживает выбранный язык программирования.
Регистрация БД ODBC происходит следующим образом: Панель управления → Администрирование → Источник данных ODBC.
В закладке Драйверы содержаться все типы БД, для которых имеется драйвер ODBC. Далее создаётся псевдоним (Alias) БД, по которому в дальнейшем идёт обращение к этой базе (в Connection).
Для подключения собственной БД к ODBC используется следующий путь: Панель управления → Администрирование → Источник данных ODBC → Пользовательский DSN → Добавить → Выбор драйвера (выбирается поставщик драйвера пользовательской БД). Затем указывается путь к БД и псевдоним, по которому она будет зарегистрирована.
Для подключения к своему проекту БД необходимо, чтобы на панели инструментов Toolbox были доступны компоненты: ADO Data Control, DataGrid, DataCombo и некоторые другие. В среде VB 6.0 основным компонентом для доступа к данным является ADODC: в него включено и Connection, и DataSet, и Datasource. Его основные свойства:
1. ConnectionString – строка для доступа к БД. При вызове мастера создания строки подключения пользователю предоставляется возможность выбора
a. Use Link FileUse ODBC Source – при этом выбирается один из псевдонимов БД, зарегистрированных на данном компьютере.
b. Use Connection String – для прямого подсоединения к БД. Для этого необходимо нажать на Build и выполнить все действия пошагово (для подключения БД MS Access выбрать источник драйвера MS Jet 4.0).
Данное свойство рекомендуется заполнять исключительно с помощью мастера, а не вручную.
2. RecourdSource – свойство, в которое записывается таблица, подключаемая к ADODC. Каждый источник данных ADODC подключается только к одной таблице. При этом выбирается тип источников данных для ADODC:
a. SQL запрос, возвращающий данные (необходимо написать текст запроса).
b. Таблица из БД.
c. Хранимая процедура (Stored Procedure)
Для отображения записей, содержащихся в ADODC, используются некоторые стандартные компоненты:
1. Label. В нём отражается значение выбранного поля для активной записи. Свойства, используемые для подключения данных:
a. Data Source – имя компонента, к которому подключена БД (ADODC).
b. Data Field – имя поля из таблицы, которое будет отображаться в надписи.
2. Text. Позволяет выводить содержимое поля и редактировать это содержимое.
a. Data Source – имя компонента, к которому подключена БД (ADODC).
b. Data Field – имя поля из таблицы, которое будет отображаться в текстовом поле.
Данные поля хранятся в свойстве Text.