Создание и использование базы данных средствами запросов и ADO — КиберПедия 

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

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

Создание и использование базы данных средствами запросов и ADO

2022-10-29 23
Создание и использование базы данных средствами запросов и ADO 0.00 из 5.00 0 оценок
Заказать работу

     Рассмотрим порядок создания и использования базы данных на сле­дующем примере (автор программы ‑ Д.Г. Шилин).

(General)(Declarations) ‘раздел глобальных объявлений формы

Dim cnL As New ADODB.Connection, cmA As New ADODB.Command

Dim rsM As New ADODB.Recordset, ADOX As New ADOX.Catalog

Private Sub Crbase_Click() 'создание пустой базы данных

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

' используя библиотеку ADOX, создаем базу MS Access стандарта

' MS Jet 3.51 (MS Access 97) или MS Jet 4.0 (Access 2000)

ADOX.Create (“Provider=Microsoft.Jet.OLEDB.3.51;Data Source=“ &_

App.Path & “\ado.mdb“)  ‘создание пустой базы Access в папке приложения

Set cnL = ADOX.ActiveConnection ' получение установленного соединения

cnL.Close     ' и его закрытие, чтобы создание базы завершилось нормально

Addtbl.Enabled = True

Exit Sub

ErrOb: 'обработка ошибки

MsgBox Err.Description, vbOKOnly + vbApplicationModal + vbCritical, “Ошибка!“

 End Sub

Private Sub Addtbl_Click()'создание и добавление новых таблиц в базу

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

'установка соединения с провайдером базы данных, задание источника ‘данных, тип доступа к базе, идентификатора пользователя

Call cnL.Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“&App.Path_

 & “\ado.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False“,_ “Admin“)

' Создается таблица Stroiki (стройки) с полями NameStroi - имя стройки

' AddrStroiki - адрес стройки, KodStroiki - код стройки (числовой)

cnL.Execute “CREATE TABLE Stroiki (NameStroiki TEXT(50), AddrStroiki “ & _ “TEXT(150), KodStroiki INTEGER);“

' Создание таблицы путем SQL запроса, используя объект Command

Set cmA.ActiveConnection = cnL ' задание текущего открытого объекту cmA ' Создается таблица Zak (заказчики) с полями NameZak ‑ название

‘заказ­­чика, RekZak - реквизиты заказчика, KodZak - код заказчика cmA.CommandText=“CREATE TABLE Zak(NameZak TEXT(50), “ & _

 “RekZak TEXT(200), KodZak INTEGER);“

Call cmA.Execute(, adCmdText) ' выполнение команды типа SQL-запрос

' Cоздается таблица Zakazy (заказы)  с полями KodZak - код заказчика, ‘KodStroiki - код стройки, NameZakaz - название (содержание) заказа

cmA.CommandText = “CREATE TABLE Zakazy (KodZak INTEGER, “& _

 “KodStroiki INTEGER, NameZakaz TEXT(50));“

Call cmA.Execute(, adCmdText) ' выполнение команды типа SQL-запрос

CrInd.Enabled = True; cnL.Close ' закрытие соединения

Exit Sub: ErrOb: Call ErrObr     ' вызов процедуры обработки ошибок

End Sub

Private Sub CrInd_Click() ' создание индексов

On Error GoTo ErrOb ' обработка ошибки

Call cnL.Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & _

 App.Path & “\ado.mdb;Mode=ReadWrite|Share Deny None;Persist Security “ &_

“Info=False“, “Admin“)

Set cmA.ActiveConnection = cnL

' Cоздается ключевой индекс в таблице Stroiki по полю KodStroi

cmA.CommandText = “CREATE UNIQUE INDEX KodStroi ON Stroiki “ & _

    “(KodStroi ASC) WITH PRIMARY“

Call cmA.Execute(, adCmdText)                               ' выполнение команды

' Создается ключевой индекс в таблице Zak по полю KodZak

cmA.CommandText = “CREATE UNIQUE INDEX KodZak “ & _

“ON Zak (KodZak ASC) WITH PRIMARY“

Call cmA.Execute(, adCmdText)                                      ' выполнение команды

cnL.Close: CrRel.Enabled = True: CrQuer.Enabled = True ' закрытие

Exit Sub: ErrOb: Call ErrObr                 ' вызов процедуры обработки ошибок

End Sub

Private Sub CrRel_Click() ' создание связей

On Error GoTo ErrOb      ' обработка ошибки

Call cnL.Open(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & _

 App.Path & “\ado.mdb;Mode=ReadWrite|Share Deny None;Persist Security” &_

 “Info=False“, “Admin“)

Set cmA.ActiveConnection = cnL ' задание соединения ALTER TABLE ‑ исполь­‘зуется для изменения структуры таблицы и создания межтабличных связей

' Связывается таблица Zakazy с таблицей Zak по полю KodZak

cmA.CommandText = “ALTER TABLE Zakazy ADD CONSTRAINT KodZak “ & _ “FOREIGN KEY (KodZak) REFERENCES Zak“

Call cmA.Execute(, adCmdText) ' выполнение команды

' Связывается таблица Zakazy с таблицей Stroiki по полю KodStroiki

cmA.CommandText = “ALTER TABLE Zakazy ADD CONSTRAINT KodStroiki” & _ “FOREIGN KEY (KodStroiki) REFERENCES Stroiki“

Call cmA.Execute(, adCmdText)                        ' выполнение команды

cnL.Close                                                            ' закрытие соединения

Exit Sub: ErrOb: Call ErrObr ' вызов подсистемы обработки ошибок

End Sub


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

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

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...



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

0.011 с.