Създайте база данни програмно с помощта наADOX

Какво е ADOX

Microsoft? ActiveX? Data Objects Extensions for Data Definition Language and Security (ADOX) е официалното наименование на Microsoft. На практика това е допълнение към обектния и програмен модел на ADO. В nee ADOX, както разбирам, беше DAO, въпреки че едното не отменя другото. Просто ADOX библиотеката е по-модерна, поддържа работа със съвременни бази данни MS SQL, Oracle и др. чрез ODBC и OLE DB и ви позволява да управлявате не само структурата на базата данни, но и нейната сигурност (групи и потребители).

Обектен модел

програмно
От представения обектен модел може да се види, че ADOX ви позволява да работите с пет обекта на съвременна релационна база данни: Таблици (Tables), Групи (Groups), Потребители (Потребители), Процедури (Procedures) и Изгледи (Views). Няма да се фокусираме върху всеки от тези обекти засега. Можете да научите повече за тях, като се обърнете към документацията на ADO.Целта на тази статия е да покаже основните стъпки за програмно създаване и модифициране на база данни с помощта на ADOX инструменти.

Програмиране с ADOX

Задължителни връзки и обекти

За да започнете да работите с ADOX, трябва да поставите връзка в проекта - > Препратки на текущия проект към Microsoft ADO Ext библиотека. 2.x за DDL и сигурност. Където x в номера на версията може да бъде 5,6 или 7 в зависимост от версията на ADO, която изпълнявате. ADOX идва с дистрибуция MDAC (компоненти за достъп до данни на Microsoft), започвайки от версия 2.5

Най-важният обект

Най-важният обект, както се вижда в обектния модел, е обектът Catalog. По същество е синоним на концепцията за база данни, тъй като е родителският обект за таблици, процедури, изгледи и т.н. В кода на вашия проекттрябва да се създаде и инициализира обект ADOX.Catalog. Например така:

някъде във Form_Load()

Създаване на база данни

Можете да използвате процедурата по-долу, за да създадете нова база данни:

В горния пример нова база данни на MS Access, наречена new, се създава в основата на c: устройство. Трябва да се отбележат две важни подробности. Ако доставчикът на достъп до данни (Доставчик) не поддържа операцията по създаване на нова директория (в контекста на нашата база данни), ще възникне грешка. И второ, след успешното създаване на базата данни, свойството ActiveConnection на нашия обект oCat ще съдържа препратка към обекта ADODB.Connection на връзката към новосъздадената база данни.

Отваряне на съществуваща база данни

Можете да използвате следната процедура, за да отворите съществуваща база данни:

Тази процедура ще отвори базата данни new.mdb, разположена в основата на c: устройството.

Работа с таблици

Допълнение

Добавянето на таблица към базата данни се извършва чрез метода Append на колекцията Tables на обекта Catalog (мощно прецакано, вдъхновява. ) С други думи, ние пишем в код

Където NewTable е обект Table. Сега превърнете това разхвърляно описание в процедура.

За да промените свойствата на таблица, трябва да я намерите в колекцията oCat.Tables. Това може да стане, като посочите като индекс нейния номер, който е труден за определяне, или нейното име, което разбира се е по-удобно.

В допълнение към свойството Name, колекциите също са достъпни за промяна:

Индекси Ключове Колони

За да изтриете таблица, извикайте метода Delete на колекцията Tables, като подадете името на таблицата като параметър.

Работа с полета

Допълнение

Полетата на таблицата са достъпни чрез колекцията Колони на обекта Таблица. За да добавите поле към таблица, използвайте метода Append.Колекция колони. На метода се предава един задължителен параметър, името на полето, и два незадължителни параметъра, неговия тип и размер. Стойността по подразбиране за типа adVarWchar. Стойността по подразбиране за размера е 0. Нека добавим едно поле към създадената от нас таблица:

По-долу е дадена таблица с валидни типове:

За промяна на характеристиките на поле се използва обектът Column:

Свойствата Type и DefaultSize са само за четене, след като полето е добавено към колекцията.

Можете да изтриете поле от таблица, като изпълните метода Delete на колекцията Columns на желаната таблица, като подадете името на полето като параметър.

Работа с индекси и ключове

Помислете за работа с тези обекти, като използвате следния пример:

Създаваме обект от тип Key. Ключовите обекти означават първични и външни ключове. Основно и Чуждестранно съответно.

adRINone - няма каскадни действия. (по подразбиране) adRISetDefault - стойността на полето за външен ключ е зададена на стойността по подразбиране. adRISetNull - стойността на полето за външен ключ е зададена на Null

Можете също да зададете правила за каскадно изтриване на свойство:

По подобен начин се извършва работа с управление на индекси.

Особено внимание заслужава следната функция:

Таблицата има колекция от индекси. И вече всеки индекс има колекция от колони, т.е. полета, включени в този индекс. За прости индекси, състоящи се от едно поле, колекцията от колони съдържа една колона; за съставни индекси колекцията от колони на индекс съдържа колоните, включени в този индекс. Отново мощно прецакан! Ето един пример. Нека добавим съставен индекс към таблицата, състоящ се от две полета Field1 и Filed2:

За да изтриете индекс, както и навсякъде другаде, използвайте метода Delete: