Подключение к источнику ( Connection) — КиберПедия 

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

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Подключение к источнику ( Connection)

2022-10-29 26
Подключение к источнику ( Connection) 0.00 из 5.00 0 оценок
Заказать работу

Основные свойства Connection

Provider  ‑ имя провайдера (производителя или поставщика СУБД).

ConnectionString   ‑ строка подключения к серверу базы данных (обычно ука­­зывается имя файла базы). Строку подключения можно присвоить пара­мет­ру метода Open объекта Recordset.

CursorLocation   ‑ место расположения курсора: на стороне клиента/сервера (adUseClient/adUseServer) для всех наборов Recordset данного соединения.

Properties (“<имя параметра>”)=”<значение>” ‑ дополнительные параметры подключения (Password, User ID).

     Примеры подключения баз СУБД Access, SQL‑Server, Oracle.

Dim Connection As New adodb.Connection      ‘ объявление переменной

Connection.Provider = “Microsoft.Jet.OLEDB.4.0“ 'СУБД Access

Connection.ConnectionString = App.Path & “\строительство.mdb“

Connection.Provider=”SQLOLEDB.1”                ‘ СУБД SQL‑Server

Connection.ConnectionString=”Database=”&App.Path&“\Товары;“& _

 “Server=сервер;UID=пользователь;PWD=пароль;”

Connection.Provider=”MSDAORA”                    ‘ СУБД Oracle

Connection.ConnectionString=”пользователь/пароль/название сервиса”

Формирование DSN ‑имени источника данных

Внешние источники данных (провайдер, тип СУБД и базы данных) могут меняться, что вызы­вает необходимость корректировки команд под­клю­­че­ния к источ­нику. Этого можно избежать, если зарегистрировать описание внешнего источни­ка в Windows в виде DSN‑имени командой Start/ Setting/ Control Panel/ ODBC Data Sources (32‑ bit)/ System DSN/ Add. В появившемся окне щелкните на имени провай­дера (например, Microsoft Access Driver) и нажмите кнопку Finish. В поле Data Source Name укажите DSN‑имя источника, обычно имя базы (например, строитель­ство). Кнопкой Select выберите базу. Кнопками OK закончите формирование DSN­‑имени. Тогда, например, вместо двух команд:

Connection.Provider = “Microsoft.Jet.OLEDB.4.0“                           'СУБД Access

Connection.ConnectionString = App.Path & “\строительство.mdb“ ‘база

можно указать одну команду:

Connection.ConnectionString = “DSN=Строительство“

Основные методы Connection

Open  [[<строка подключения>], [<пользователь>], [<пароль>]] ‑ под­клю­че­ние и открытие базы данных. В первом параметре можно задать через аргументы значения свойствам Connection, если они не бы­ли указаны. Аргументы задаются в виде <имя аргумента>=<значение> и разделяются точкой с запятой. 

BeginTrans, CommitTrans, RollBack  ‑ начать, закончить и отменить тран­з­ак­цию (п. 9.4.3).

     После окончания работы следует указать команды:

Connection.Close         ‘ закрыть связь

Set Connection = Nothing ‘ освободить память, занятую объектом

Каталог (Catalog)

Каталог ‑ это контейнерный класс для хранения данных о таблицах, курсорах, хранимых процедурах, пользователях и группах. Он исполь­зуется при создании таблиц, индексов, атрибутов пользователей и групп с помощью программного кода. Между объектами Catalog и Connection существует связь типа “один к одному”.

Внимание! Перед работой c каталогом командой Pro­ ject/ Refe­ ren­ ces выз­о­вите окно References и выберите библиотеку Microsoft ADO Ext. 2.1 for DDL and Se­cu­rity.

     Основные свойства Catalog

AciveConnection  ‑ связывает объект Catalog с объектом Connection.

Tables  ‑ коллекция объектов Table. Каждый объект Table содержит кол­лек­ции объектов Columns (описание столбцов таблицы), Indexes (индексы), Keys (ключи), Properties (свойства).

Count  ‑ число таблиц.

Groups, Users, Views   ‑ коллекции групп, пользователей, представлений.

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

Set Catalog = Nothing ‘ освободить память, занятую каталогом.

     Пример создания таблицы и индекса.

Private Sub Command1_ Click() ‘ процедура создания таблицы

Dim Zakazhiki As New Table        ‘ создание переменной типа Table

Dim Catalog As New ADOX.Catalog ‘ создание переменной типа Catalog

Dim Key As New ADOX.Key         ‘ создание переменной типа Key

On Error GoTo proc_err ‘ переход на процедуру обработки ошибок

Catalog.ActiveConnection=“Provider=Microsoft.Jet.OLEDB.4.0;” & _

 “Data Source=”­­ & App.Path & “\строительство.mdb“ ‘подключение к базе

Zakazhiki.Name = “Заказчики“                                  ‘имя создаваемой таблицы

Zakazhiki.Columns.Append “Kz“, adInteger               ‘добавления поля Kz

Zakazhiki.Columns.Append “Nz“, adVarWChar, 30   ‘добавления поля Kz

Catalog. Tables. Append Zakazhiki ‘добавление в базу таблицы Zakazhiki

Key.Name = “Kz“                                                        ‘наименование ключа

Key.Type = adKeyPrimary                                          ‘тип ключа ‑ первичный

Key.Columns.Append “Kz“                                         ‘добавление поля Kz в ключ

Catalog. Tables(“Заказчики“). Keys. Append Key ‘добавление ключа

Set Catalog.ActiveConnection = Nothing              ‘удаление каталога

Exit Sub                                                                ‘выход из процедуры

proc_ err:                                                              'блок обработки ошибок

MsgBox (“Описание: “ & Err.Description + “Код ошибки: “ & _

Err.Number & “ Источник ошибки: “ & Err.Source) ' вывод сообщения

If Err.Number = -2147217857 Then                     'таблица уже существует

Catalog.Tables.Delete “Заказчики“ ‘удаление из базы таблицы “Заказчики“

Resume                  ' повторное выполнение команды добавления таблицы

End If                        ‘конец If

End Sub

Набор данных Recordset

     После подключения к источнику создается объект Recordset, кото­рый содержит данные из конкретной таблицы, запроса, курсора или храни­мой проце­ду­ры.

Основные свойства Recordset

EOF / BOF  ‑ выход за начало/конец таблицы.

Recordset[. Fields ](“<имя поля>” / номер поля)[. Value] или Recordset![<имя поля>] ‑ значение указан­но­го поля (если имя поля не содержит пробелы, то квадратные скобки в последней форме можно не указывать).

Recordset[. Fields](“<имя поля>” / номер поля). OriginalValue ‑ получить или восстано­вить исходное значения указанного поля.

Source ‑ источник данных для набора (имя таблицы, запроса, хранимой проце­дуры, сохраненного набора данных, объекта Command или текст ко­ман­ды SQL).

ActiveConnection  ‑ соединение с базой.

LockType  ‑ режимы блокировки записей: только чтение (adLockReadOnly), бло­­­ки­ровка от начала редактирования до исполнения метода Update или пе­­­ре­хода к следующей записи (adLockPessimistic), блокировка только в мо­ме­нт ис­полнения метода Update или перехода к следующей записи (ad­Lock­­Op­tismistic), поддержка обновления группы записей (adLockBatch­Op­ti­mis­tic).

CursorLocation  ‑ место расположения курсора: на стороне клиента/сервера (adUseClient/adUseServer).

CursorType  ‑ тип курсора: перемещение только вперед (adOpenFor­ward­On­ly); нельзя просматривать записи, добавленные другим пользователем (ad­Open­Keyset); можно просматривать любые изменения (adOpenDynamic); копия набора (adOpenStatic).

Основные методы Recordset

Open  [ Source  [, ActiveConnection  [, CursorType  [, LockType ]]]] ‑ от­кры­тие на­бора с указанием его свойств, если они не были указаны ранее.

Close  ‑ закрытие набора.

Supports (<тип курсора>) ‑ возвращает истину, если провайдер поддержи­вает указанный тип курсора.

Delete  [(<группа записей>)] ‑ удалить текущую запись (adAffectCurrent), группу записей, определенных свойством Filter (adAffectGroup), все записи (adAffectAll).

Filter  ‑ условие отбора записей в виде строки с условием отбора записей. Сим­вольные константы заключаются в апострофы (Rs.Filter=”Nz=’ЗИК’”).

MoveFirst, MoveLast, MovePrevious, MoveNext    ‑ переход на первую, пос­лед­­нюю, предыдущую и следующую запись соответственно (с учетом ус­та­новленного фильтра).

AddNew, Update  ‑ включение новой записи и сохранение внесенных изме­нений. При переходе на другую запись изменения сохраняются.

Recordset. Fields. Refresh  ‑ повторный вывод полей (обновление) набора.

GetRows  ‑ копирование набора в двумерный массив (п. 9.9.5).

Пример заполнения таблицы “Заказчики”. Создадим новую форму Form2 (рис. 9.9.2.1) с кноп­ка­ми: Далее (про­дол­жить ввод), Сохра­ни­ть (за­кон­чить тран­зак­­цию), Отме­нить (от­­­­менить транзак­цию), За­кончить (закон­чить ввод данных).

                                                       Рис. 9.9.2.1. Форма для ввода данных в таблицу

 


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.019 с.