Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ИП 2010-04-04 doc.doc
Скачиваний:
108
Добавлен:
13.05.2015
Размер:
5.96 Mб
Скачать

9.7. Соединение среды разработки с базой данных

Можно соединить среду разработки Visual Basic с нужной базой данных, используя окно просмотра данных Data View. Рассмотрим этот процесс на примере соединения с базой учета строек (п. 9.1).

  1. Откроем новый проект и выберем командуView/Data View Window. Появится окно Data View Window (рис. 9.7.1).

Рис. 9.7.1. Окна просмотра и свойств связи

2. Нажмем кнопку этого окна Add a New Data Link; появится окно Data Link Properties, в котором выберите провайдер Microsoft Jet 4.0 OLE DB Provider и нажмите кнопкуNextдля перехода на страницуConnection; введите (выберите) имя нашей базы “Строительство.mdb”, нажмите кнопку для тестирования соединения (рис. 9.7.1).

3. Нажмите кнопку OKи вместо предложенного имени DataLink1 введите имя связи “Строительство” (обычно указывается имя базы) в окне Data View и нажмите клавишуEnter. Сформированное окно Data View (рис. 9.7.2) позволит проcмат­ри­вать структуру (схему) базы и содержание самих таблиц после двойного щелчка мышки на имени таблицы. Связь с базой будет храниться в среде разработки Visual Basic до тех пор, пока вы не удалите ее. Она не привязана ни к какому конкретному проекту и не хранится в приложении.

Рис. 9.7. 2. Окно просмотра со структурой подсоединенной базы

9.8. Создание конструктора среды данных

Конструктор позволяет устанавливать конкретные связи с под­соеди­ненной базой (формировать различные подсхемы), используя технологию ADO(п. 9.9). При компи­ляции подсхема включается в код приложения в отличие от при­соеди­ненной к среде разработки базы данных. Рассмотрим порядок создания конструктора среды данных на нашем примере (п. 9.7).

В окне Data View щелкните на кнопке Add a Data Environment to the Current Project либо выполните команду Project/More ActiveX Desig­ners/Da­ta Environment. Откроется новый конструктор со стандар­т­ным соединением Connection1 (рис. 9.8.1). Если конструктор не появится, то выполните команду Project/References и установите флажок для строки Microsoft ActiveX Data Objects 2.0 Library. Можно вручную настроить это соединение на базу. Но если она уже указана в окне просмотра, то проще выполнить следующие действия.

Рис. 9.8.1. Окна конструктора среды и просмотра

Щелкните в окне Data View на таблице, например, Stroikiи пе­ре­тащите ее в окно конструктора среды. Аналогично перетащите остав­шие­ся две таблицы (рис. 9.8.1).

Если окно конструктора отсутствует, то нажмите правую кнопку мы­ши на имени связи в окне просмотра и выберите команду Open Data Environ­ment. Если таблицу из окна конструктора среды (Stroiki) пе­ре­нести на форму, то на форме окажутся все поля таблицы (рис. 9.8.2).

Аналогичо можно перетаскивать отдельные поля таблицы.

Рис. 9.8.2. Форма, построенная перетаскиванием таблицы

9.9. ТехнологияAdOдоступа к базам данных

9.9.1. Объект управления ado Data (Adodc)

Объект Adodc (компонент Microsoft ADO Data Control 6.0 (OLEDB)) аналогичен объекту Data (п. 9.4.1), но является более современным, уни­вер­сальным, дает возможность получить доступ к локальным и удаленным базам класса клиент‑сервер и к нереляционным источникам данных по цепочке: форма, свойства связанных элементов управления DataSource и DataField, свойства ConnectionString и RecordSource элемента ADO Data, база данных. После размещения этого элемента на форме для установки связи с нужной базой и с одной из ее таблиц следует выполнить следующие действия (на примере нашей базы “Строительство.mdb”):

1. Щелкните правой кнопкой мыши; на этом объекте выберите команду ADODC Properties.

2. В появившемся окне Property Pages включите флажок User Connection Stringи нажмите кнопкуBuild.

3. Появится окно Data Link Properties, в котором выберите провайдер Microsoft.Jet.OLEDB.4.0 и нажмите кнопку Nextдля перехода на страницуConnection; введите (выберите) имя нашей базы “Строительство.mdb”; нажмите кнопку для тестирования соединения (рис. 9.7.1), а затем нажмите кнопкуOK.

Можно подключить базу динамически из программы командами:

Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;“ & _

“Data Source=“ & App.Path & “\Строительство.mdb; Persist Security Info=False”

4. Щелкните на вкладке RecordSource и в списке Command Type выберите строку 2-adCmdTable.

5. В списке Table or Store Procedure Name выберите имя таблицы, например Stroiki.

После размещения на форме любого связанного с базой элемента, например текстового поля TextBox, его свойству DataSource нужно задать значение, равное имени объекта Adodc, например Adodc1, а другому его свойству DataField присвоить значение, равное имени поля базы, которое используется связанным элементом.

Рассмотрим три основных свойства элемента ADO Data.

CommandType ‑ определяет тип команды, выдаваемой источнику для выбор­­ки записей: работа с текстами (1-adCmdText), таблицами (2- adCmd­Tab­le), хранимыми процедурами; запрос или другая команда, встро­ен­­ная не­посредственно в базу данных (adCmdStoreProc).

EOFAction - определяет поведение элемента при переходе к концу таблицы.

Mode‑ управляет доступом к данным: только чтение (1-adModeRead), монопольное использование (12-adModeShareExclusive) и др.

Имеются два варианта включения новой записи ‑ с использованием программного кода и без кода:

  1. Создать кнопку Добавитьс командой Adodc1.Recordset.addNew

и кнопку Изменитьс командой Adodc1.Recordset.Update.

2. Установить для элемента Adodc свойство EOFAction=2 ‑ adDo­Add­New. Перейти на последнюю запись (нажать кнопку Move Last). На­жать кнопкуNext. Выведется пустая запись, ввести новые значе­ния и перей­ти на предыдущую запись.

Дляудаления текущейзаписи используются команды:

Adodc1.Recordset.Delete

Adodc1.Recordset.Next или Adodc1.Recordset.Last

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

Событие WillChangeRecordвозникает перед изменением текущей записи при переходе к новой записи после изменения текущей. Обычно в процедуре обработки этого события проверяют правильность введенных значений, и если значения ошибочны, то выводят сообщение об ошибке, параметру этой процедуры adStatus присваивают значение adStatusCancel.