InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Подключение к базам данных посредством ADO Data Control

Tower


Перед вашими глазами первая из статей, посвященных работе с базами данных в Visual Basic. Я полагаю, что смогу создать более или менее полное описание всех контролов, которые входят в стандартную поставку от Microsoft. Это будет минимальный (базовый) набор знаний, который поможет начать работать в одном из самых популярных направлений применения удобного и простого языка программирования. Это направление - создание интерфейса пользователя для работы с базами данных посредствам ADO.

Стоит уделить немного внимания самому понятию ADO, а точнее OLE DB. Это новый стандарт доступа к базам данных, который разрабатывается всем хорошо известной компанией. Доступ к базам данных осуществляется посредствам работы с объектами (что и подразумевает определение ADO). При этом, когда вы работаете с объектом соединения с базой данных, не имеет особого значения, к какой базе вы подсоединились. По мнению разработчиков этого стандарта, новый подход существенно облегчает перенастройку программного обеспечения с одного типа базы данных, на другой.

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

Добавление ADODC в проект и его настройка в Design Time

Для того чтобы добавить контрол на любую форму вашего проекта, необходимо проделать стандартные действия, а именно в компонентах проекта выбрать вкладку "Controls", и поставить флажок напротив Microsoft ADO Data Control (OLEDB). После этого можно помещать контрол на любую форму, а в дальнейшем и настраивать его. Сейчас речь пойдет как раз о настройках данного контрола.

Первая закладка, которую мы видим после того, как выбрали свойства контрола, помещенного на форму называется "General". Именно на этой закладке мы настраиваем соединение с базой данных. Если вы заметили, то есть три варианта соединения, но рассматривать я буду только один "Connection String". Ответ на вопрос "почему?" можно сформулировать следующим образом: "Данный вариант является самым универсальным и не требует дополнительных настроек, при переносе программы с одной клиентской машины на другую. Вы можете задать строку подключения вручную (на первых порах я настоятельно не рекомендую этого делать), либо создать строку с использованием построителя строк. Настройка соединения для каждого OLEDB провайдера различна, поэтому описание процесса настройки я опускаю.

Итак, нами создано соединение с базой данных, но мы еще не полностью закончили настройку, поэтому переходим ко второй вкладке - Authentication. В этой вкладке можно настроить имя и пароль пользователя, при соединении с базой данных. Данные параметры можно не задавать, если вы их сохранили в строке коннекта.

Наконец самая интересная вкладка - Recordsource. Собственно ради нее мы и создавали весь проект. В комбобоксе "Тип команды" (Command Type) необходимо выбрать один из доступных типов:

  • Текст, который позволяет ввести в поле Command Text необходимый SQL запрос к базе данных;
  • Таблица, тогда будут выводиться все поля из одной таблицы, которая указана в комбобоксе Table or Stored Procedure Name;
  • Хранимая процедура.

Две оставшиеся вкладки относятся уже к визуальному представлению контрола и особого интереса не представляют.

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

Два параметра относятся к перемещению по записям в Recordset. Эти параметры называются BOFAction и EOFAction, возникающие при попытке перейти на запись выше первой или ниже последней соответственно. По умолчанию, EOFAction ставиться в режим оставаться на последней записи, но когда вы делаете режим добавления записей, то необходимо установить другой режим, а именно adDoAddNew.

Следующим важным свойством является LockType - тип блокировки. Если вы разрабатываете однопользовательскую систему, то про систему блокировок можно вполне забыть, но вот в системах клиент-сервер блокировки играют важнейшую роль. Блокировка adLockOptimistic установлена по умолчанию и подходит в большинстве случаев (как это бывает со значениями по умолчанию), но не забывайте и на возможности установить полную блокировку или вообще не использовать блокировки (adLockReadOnly).

Наконец, последние мои слова в этой статье обращены к свойствам ожидании, который также актуальны для приложений клиент-сервер. Существует два типа Timeout: ожидание команды и ожидание соединения. Ожидание соединения не бывает слишком долгим, поэтому не стоит ставить его больше 15 секунд, но что касается ожидания команды, то здесь необходимо ставить значение куда большие, чем установлены по умолчанию. Причина - сложность некоторых запросов и загрузка сервера.

Сведений, которые имеются в этой статье вполне достаточно для того, чтобы написать программу, соединяющуюся с сервером и делающим в нем выборку. Кроме того, вы можете перемещаться по выборке и вносить в нее изменения, но как это решить интерфейсно? Об этом и пойдет речь в следующей статье.


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua