Сегодня я решил вернутся к этой теме и рассказать более подробно, как
создавать базы данных и как с ними работать. Я это делаю, потому что все
последующие статьи будут работать с базами только через ADO (пока это будет
Access, а через пару месяцев я расскажу про MS SQL Server).
Запусти Access и выбери в меню Файл->Создать. В мастере создания базы выбери
пункт "База данных" и нажми "ОК". Тебе предложат выбрать имя базы и место
расположения, укажи что угодно, а я оставил значение по умолчанию db1.mdb
.
После этого Access создаст базу и сохранит её по указанному пути. А ты
увидишь окно как на рисунке 1, в котором и происходит работа с базой. Слевой
стороны окна находится колонка выбора объектов, с которымы ты хочешь работать.
Первым находится пункт "Таблицы" (он выделен по умолчанию) который и будет нас
интересовать. Если этот объект у тебя не выделен, то выдели его. В окне справа
находится три пункта:
- Создание таблицы в режиме конструктора
- Создание таблицы с помощью мастера
- Создание таблицы путём ввода данных
С помощью этих команд можно создать таблицы внутри нашей, т.е. твоей базы
данных. Ты уже должен знать, что в отличии от таблиц Paradox и Foxpro (которые
состоят из одной таблицы), базы данных могут хранить в одном файле несколько
таблиц.
В это же окно будет добавляться список созданных тобой таблиц. Щёлкни по
"Создание таблицы в режиме конструктора" чтобы создать новую таблицу в базе
данных. Перед тобой откроется окно, как на рисунке 2.
Сверху находится сетка в которой ты вводишь поля таблицы, их тип и описание
(последнее не обязательно). Когда ты вписал в сетку имя нового поля и указал
тип, внизу окна появляются свойства нового поля. В зависимости от типа поля
изменяется и количество свойств. Вот самые основные:
- Масксимальная длинна поля. Для текстового поля размер не
может быть больше 255. Если текст длинее, то надо использовать
"Поле Memo".
- Формат поля. Здесь ты можешь указать внешний вид данных.
Например, поле может выглядить как "Yes/No" для логических
полей, или например "mm yyyy" для поля даты.
- Маска ввода. Здесь мы вводим маску, которая отвечает за
отображение поля при редактировании. Если ты щёлкнешь на кнопке
с точками "..." в строке "Маска ввода", то увидешь мастер, как
на рисунке 3.
- Значение по умолчанию. Умолчание, оно и в африке по
умолчанию.
- Обязательное поле. Если пользователь не введёт сюда
значение, то появится сообщение об ошибке. Такое поле не может
быть пустым.
- Пустые строки. Похоже на предыдущий, потому что это поле
тоже не может быть пустым.
- Индексированное поле. Может быть неиндексированным,
индексированным с допуском совпадений, и индексированным без
допуска совпадений. Основной индекс всегда без допуска
совпадений. Остальные желательно с допуском.
- Сжатие Юникод - позволяет сжать данные в соответствии с
Юникод.
Создай шесть полей:
- Key1 - числовой. Это у нас будет ключик. Размер поля -
"Длинное целое". Индексированное поле - "Да (Совпадения не
допускаются)".
- Фамилия - текстовый. Размер поля - 50. Индексированное поле
- "Да (Допускаются совпадения)".
- Имя - текстовый. Размер поля - 50. Индексированное поле -
"Да (Допускаются совпадения)".
- Телефон - текстовый. Размер поля - 10. Индексированное поле
- "Да (Допускаются совпадения)".
- e-mail - текстовый. Размер поля - 20. Индексированное поле -
"Да (Допускаются совпадения)".
- Город - числовой. Размер поля - Длинное целое.
Индексированное поле - "Нет".
Помимо этого, у всех полей значение "Обязательно поле" стоит в "Нет", и
"Пустые строки" выставлено в "Да".
Теперь выдели первое поле (Key1), щёлкни правой кнопкой мыши и выбери пункт
"Ключевое поле".
Создай ещё одну таблицу "Справочник городов" с полями Key1 (числовое,
ключевое) и город (текстовое, длинна 50). Сохрани таблицу.
Для открытия для заполнения полей таблицы нужно щёлкнуть на кнопке "Открыть".
Для редактирования уже созданной таблицы нужно щёлкнуть на кнопке "Конструктор".
Теперь переходим в Delphi. Создай новый проект. Выбери File->New и создай
новый модуль типа "DataModule". Брось на форму DataModule2 компонент
ADOConnection из закладки ADO.
Щёлкни дважды по ADOConnection1. Появится знакомое окно (если ты читал статью
в октябрьском номере). Выдели CheckBox "Use Connection String" и нажми кнопку
"Build". Появится окно выбора поставщика драыйвера для работы с базой данных.
Выбери "Microsoft Jet 4.0 OLE DB Provider". Здесь 4.0 обозначает номер версии и
необходим для работы с Access 2000. Если у тебя установлен Office 97, то тебе
достаточно версии 3.51. Нажми кнопку "Далее" и выбери в появившемся окне имя
базы данных. Нажимай "ОК" и ещё в одном окне "ОК".
Теперь измени у ADOConnection1 свойство LoginPrompt на false, чтобы при
коннекте с базой у тебя не запрашивали пароль (всё равно мы его не задали).
Теперь можно коннектится к базе, для этього измени свойство Connected на true.
Теперь брось на эту же форму DataSource с закладки "Data Access" и ADOTable с
закладки ADO.
У ADOTable установи следующие свойства:
- Connection - ADOConnection1
- TableName - "Главная таблица"
- Active - true
У DataSource1 установи свойство DataSet в ADOTable1. Перейди в форму 1
(Form1). Выбери File->Use Unit и в появившемся окне выбери Unit2, чтобы
подключить к Form1 наш модуль DataModule2.
Поставь на форму DBGrid с закладки "Data Controls". Измени его свойства
DataSource на "DataModule2.DataSource1". Запускай программу и используй.
Пока хватит. Сегодня мы использовали только первую базу данных. Вторую мы
подключим в следующий раз. Удачи.
|