Доступ к базам данных.

Расширения Jet 4.0 ANSI-92

Выполнение команд изменения структуры, изменения базы данных

Выражения на SQL можно давать параметром методу Open объекта RecordSet, т.к. результат такого запроса – набор записей.

Выражения на DDL – команды, не формирующие набор записей, поэтому их можно выполнить по-другому: при помощи метода Execute объекта Command.

Dim cmd As New ADODB.Command

cmd.ActiveConnection = adoconn 'ранее установленное соединение

cmd.CommandText = "CREATE TABLE Strnakl (Tovar LONG, Kvo LONG DEFAULT 1)"

cmd.Execute

В состав MS Access 2000 и выше включен драйвер Jet 4.0, поддерживающий стандарт ANSI-92. Причем в пользовательском интерфейсе некоторые возможности стандарта не реализованы, поэтому вы можете ими воспользоваться, написав программный код.

В операторе CREATE TABLE можно использовать директиву «DEFAULT значение», следующую за именем поля. Тогда любое добавление строки в эту таблицу вызовет присваивание указанному полю заданного по умолчанию значения. В примере показано, что по умолчанию количество отпускаемого товара устанавливается в 1.

Dim cmd As New ADODB.Command

cmd.ActiveConnection = adoconn 'ранее установленное соединение

cmd.CommandText = _

"CREATE TABLE Strnakl (Tovar LONG, Kvo LONG DEFAULT 1)"

cmd.Execute

????

База данных – это один или несколько файлов сложной структуры, форматы которых заданы разработчиками. Знания форматов файлов, вообще говоря, достаточно для того чтобы организовать доступ к данным (чтение, модификация). Программы, осуществляющие такой доступ, раньше называли драйверами, сейчас чаще можете услышать слово «провайдер». Пару «программа – база данных» часто называют источником данных.

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

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

Описанная схема подходит для работы как с локальной базой данных, так и с удаленной. При таком доступе к данным наличия СУБД ни на компьютере клиента, ни на компьютере сервера данных (там, где находится файл базы) не требуется. Но разработчики той или иной СУБД прекрасно знают особенности своих форматов, разрабатывая СУБД, они придумали интересные и эффективные алгоритмы работы с данными, поэтому было бы странным не воспользоваться этим. Так Microsoft предлагает так называемое ядро Jet, которое можно рассматривать как некий набор функций СУБД без пользовательского интерфейса. Соответственно есть драйверы, которые могут работать с файлами базы через ядро Jet.