Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi и БД.doc
Скачиваний:
73
Добавлен:
11.04.2015
Размер:
471.04 Кб
Скачать

14.1.2. Delphi и базы данных

Для работы с базами в Delphi есть несколько наборов компонентов. Каждый набор очень хорошо подходит для решения определенного круга задач. Почему такое разнообразие компонентов? Все они используют разные технологии доступа к данным и отличаются по своим возможностям. Microsoft встроила в свои продукты разработки только технологию доступа к данным ADO, собственной разработки. Фирма Borland предоставила разнообразные средства, работающие через разные технологии, и не ограничивает программиста только своими разработками. Такое положение вещей дает громадные преимущества. Помимо этого, есть группы компонентов, которые могут использоваться в любом случае.

Произведем краткий обзор имеющихся средств доступа к базам данных.

- На вкладке Data Access расположены основные компоненты доступа к данным. Эти компоненты общие для всех и могут использоваться совместно с другими группами компонентов.

- На вкладке Data Controls расположены компоненты для отображения и редактирования данных в таблицах. Эти компоненты так же используются в независимости от используемой на данный момент технологии доступа к данным.

- Вкладка BDE содержит компоненты, позволяющие получить доступ к базам данных по технологии, разработанной фирмой Borland, под названием Borland Database Engine. Эта технология сильно устарела и поставляется только для учета совместимости со старыми версиями. Несмотря на это, она хорошо работает с устаревшими типами баз данных, например, такими как Paradox и dBase.

- DBExpress это новая технология доступа к данным фирмы Borland.

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

Компоненты с одноименной вкладки желательно использовать с базами данных, построенных по серверной технологии, например, Oracle, DB2 или MySQL.

- ADO (Active Data Objects) — технология доступа к данным, разработанная корпорацией Microsoft. Очень хорошая библиотека, но использовать ее желательно только с базами данных Microsoft, а именно MS Access или MS SQL Server. Ее также можно использовать, если у вас специфичный сервер баз данных, который может работать только через ODBC.

( Совет )

Работа с базами данных Access идет через специальную надстройку DАО, которая может устанавливаться на компьютер вместе с программой Office или идти как отдельная установка. Так что если ваша программа не будет работать на компьютере клиента, то надо позаботиться об установке DАО и ADO на этот компьютер. На компакт-диске в папке DLL вы можете найти файл mdac_typ.exe, который устанавливает компоненты ADO версии 2.7. Это самые свежие компоненты на момент написания книги.

На данном этапе не ставится цель рассмотреть абсолютно все компоненты.

Однако информация по наиболее важным из них будет рассмотрена. Это обеспечит возможность писать профессиональные приложения для работы с базами данных.

14.2. Создание первой базы данных Access

Сейчас мы подробно рассмотрим, как создавать и использовать базы данных Access. Для последующей работы необходимо, чтобы на вашем компьютере были установлены MS Office и его компонент MS Access. Именно в нем и будут создаваться РБД, а вот работать с ними мы будем уже из Delphi.

Запустите Access и выберите меню Файл | Создать. В мастере создания базы данных выберите пункт База данных и нажмите ОК. Вам предложат выбрать имя базы и место расположения, укажите, что угодно (например, файл Database.mdb).

После этого Access создаст базу и сохранит ее по указанному пути. Далее вы увидите окно, показанное на рис. 14.1, в котором и происходит работа с базой. С левой стороны окна находится колонка выбора объектов РБД, с которыми вы можете работать. Первым стоит пункт Таблицы (он выделен по умолчанию), который и будет нас интересовать. Если этот объект у вас не выделен, выделите его.

Рис. 14.1. Окно управления базой данных

В окне справа находятся три пункта:

- Создание таблицы в режиме конструктора;

- Создание таблицы с помощью мастера;

- Создание таблицы путем ввода данных.

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

Все данные в базах данных хранятся в виде двухмерных таблиц. На рис. 14.2 вы можете видеть пример простой таблицы, состоящей из семи колонок и множества строк.

Колонки в таблицах называются полями. По ним определяется, какие именно данные хранятся в таблице. Давайте попробуем создать базу данных телефонного справочника. Щелкните кнопкой мыши по пункту меню Создание таблицы в режиме конструктора (см. рис. 14.1), чтобы создать новую таблицу в базе данных. Перед вами откроется окно, например, как показано на рис. 14.3. В верхней части окна находится сетка, в которой вы вводите поля таблицы, их тип и описание (последнее не обязательно). Когда вы вписали в сетку имя нового поля и указали тип, внизу окна появляются свойства нового поля. В зависимости от типа поля изменяется и количество свойств.

Рис. 14.2. Пример простой таблицы

Рис. 14.3. Окно создания таблицы

Рассмотрим наиболее важные из них.

- Масксимальная длина поля. Для текстового поля размер не может быть больше 255. Если текст длиннее, то надо использовать Поле Memo.

- Формат поля. Здесь вы можете указать внешний вид данных. Например, поле может выглядеть как Yes / NO для логических полей, или — mm уууу для поля даты.

- Маска ввода. Здесь мы вводим маску, которая отвечает за отображение поля при редактировании. Если вы щелкнете мышью на кнопке с точка- ми — ... — в строке Маска ввода, то увидите мастер создания маски.

- Значение по умолчанию. Указанное здесь значение будет использоваться, если пользователь не указал в поле каких-либо данных.

- Обязательное поле. Если пользователь не введет сюда значение, то появится сообщение об ошибке. Такое поле не может быть пустым.

- Пустые строки. Похоже на предыдущее поле, потому что оно тоже не может быть пустым.

- Индексированное поле. Основной индекс всегда без допуска совпадений.

Остальные могут допускать двойные значения. Может быть:

• неиндексированным;

• индексированным с допуском совпадений;

• индексированным без допуска совпадений.

- Сжатие Юникод — позволяет сжать данные в соответствии с кодировкой Unicode.

Теперь создайте шесть полей.

- Имя поля — Key1. Тип — счетчик. Это будет ключевое поле. Размер поля — Длинное целое. Индексированное поле — Да (совпадения не допускаются).

- Имя поля — Фамилия. Тип — текстовый. Размер поля — 50. Индексированное поле — Да (допускаются совпадения).

- Имя поля — Имя. Тип — текстовый. Размер поля — 50. Индексированное поле — Да (допускаются совпадения).

- Имя поля — Телефон. Тип — текстовый. Размер поля — 10. Индексированное поле — Да (допускаются совпадения).

Имя поля — e-mail. Тип — текстовый. Размер поля — 20. Индексированное поле — Да (допускаются совпадения).

- Имя поля — Город. Тип — числовой. Размер поля — Длинное целое. Индексированное поле — Нет.

Г^ Примечание

Почему город не строковый, ведь названия городов — это текст? Пока здесь не будет объясняться этот феномен, оставим его на потом. Чуть позже мы увидим, почему город должен быть числовым.

Помимо этого, у всех полей — Обязательное поле значение стоит в Нет, и в пустые строки выставлено Да. Если вы сделаете поле обязательным, то во всех строках обязательно должно быть заполнено соответствующее поле. Если вы запретите пустые строки (значение — Нет), то в указанном поле должно быть обязательно что-то введено, иначе произойдет ошибка. В реальных условиях, если какое-то поле обязательно должно иметь значение, то лучше сделать его обязательным. Не надо надеяться на добропорядочность пользователей, потому что они слишком часто подводят. Пусть лучше база данных следит за правильностью данных.

Теперь выделим первое поле (Кеу1). Щелкните правой кнопкой мыши и выберите пункт Ключевое поле. Задание ключевого поля является обязательным действием, если вы этого не сделаете, то таблица не сможет редактироваться, а это значит, что в нее нельзя будет добавлять строки.

Примечание

В Access при попытке сохранить таблицу без ключевого поля программа предлагает самостоятельно создать ключ. Если вы согласитесь, то таким полем будет первое по счету. Все, таблицу можно сохранять и закрывать. На вопрос: "Сохранить таблицу" отвечайте положительно и сохраните под именем Справочник.

Наша первая база данных готова. Теперь можно перейти к следующему разделу, где мы напишем первый пример для работы с созданной БД и таблицей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]