- •Базы данных в Delphi Оглавление
- •Глава I. Базы данных в Delphi 3
- •Глава II. Наборы данных 11
- •Глава I. Базы данных в Delphi
- •1.1. Ведение в базы данных
- •1.2. Таблицы баз данных.
- •1.3. Таблицы формата dBase и Paradox
- •Сравнительная характеристика dBase и Paradox
- •1.4. Практическая работа
- •1.5. Самостоятельная работа
- •Глава II. Наборы данных
- •2.1. Набор данных
- •2.2. Практическая работа
- •2.3. Самостоятельная работа
- •2.4. Режимы наборов данных
- •2.5. Практическая работа
- •2.6. Перемещение по записям набора данных
- •2.7. Практическая работа
- •2.8. Доступ к полям
- •2.9. Практическая работа
- •2.10. Практическая работа
- •2.11. Способы задания состава полей набора данных
- •Редактор полей
- •2.12. Вычисляемые поля
- •2.13. Практическая работа №7
- •Глава III. Индексирование баз данных
- •3.1. Установка текущего индекса
- •3.2. Сортировка набора данных
- •3.3. Практическая работа
- •Глава IV. Фильтрация записей
- •4.1. Фильтрация по выражению
- •4.2. Практическая работа
- •4.3. Практическая работа
- •4.4. Фильтрация по диапазону
- •4.5. Самостоятельная работа
- •Глава V. Поиск записей в наборе данных.
- •5.1. Поиск записей
- •5.2. Поиск записей по нескольким полям.
- •5.3. Практическая работа
- •Глава VI. Модификация набора данных
- •6.1. Редактирование записей
- •6.2. Добавление записей
- •6.3. Удаление записей
- •6.4. Практическая работа
- •Глава VII. Работа со связанными таблицами
- •7.1. Организация связей между таблицами
- •7.2. Практическая работа
- •7.3. Самостоятельная работа
- •Глава VIII. Работа с отчетами
- •8.1. Объект QuickRep
- •8.2. Компоненты, размещаемые в полосе
- •8.3. Практическая работа
1.5. Самостоятельная работа
Создайте таблицы, относящиеся к БД:
Автосалон;
Магазин «Мороженное»;
Музыкальная картотека;
Зоомагазин;
Записная книжка.
Заполнить таблицы данными (10-12 записей) и сохранить в папке Baza на рабочем диске.
Глава II. Наборы данных
2.1. Набор данных
Таблицы БД располагаются на диске и являются физическими объектами. Для операций с данными, содержащимися в таблицах, используются наборы данных (НД). В терминах Delphi набор данных – это совокупность записей, взятых из одной или нескольких таблиц БД. НД является логической таблицей, с которой можно работать при выполнении приложения. Взаимодействие таблицы и НД напоминает взаимодействие физического файла и файловой переменной. В Delphi для работы с наборами данных таблиц применяются несколько компонент, но наиболее универсальным и часто используемыми являются НД Table и Query.
Компонент Table представляет собой набор данных, который в некоторый момент времени может быть связан с одной таблицей БД. Связь между таблицей и компонентом Table устанавливается через его свойство TableName, который определяет имя таблицы.
Для выполнения операций с НД используются два способа доступа к данным:
навигационный – заключается в обработке каждой отдельной записи НД. При навигационном способе доступа каждый НД имеет невидимый указатель текущей записи, который определяет запись, с которой могут выполняться такие операции, как редактирование, удаление;
реляционный – основан на обработке группы записей. При реляционном способе доступа для задания операций используются средства языка структурированных запросов – SQL (Structured Query Language).
2.2. Практическая работа
Создать приложение для просмотра и редактирования разных таблиц.
Пользователь может выбирать таблицу, данные которой выводятся в сетке DBGrid1. Выбор осуществляется в диалоге открытия файла, который вызывается при нажатии на кнопку «Открыть другую таблицу». После выбора таблицы ее имя устанавливается в качестве значения свойства TableName набора данных Table1.
При задании расположения БД программным способом НД предварительно необходимо закрыть (свойство Active = False).
Расположите на форме компоненты, показанные на рисунке. В компоненте DBGrid должна отображаться таблица Tovar.db
Напишите обработчик события OnClick для кнопки «Открыть другую таблицу»:
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Filter:= 'Таблицы (*.db;*.dbf) | *.db;*.dbf | Все файлы | *.*';
If OpenDialog1.Execute then
begin
table1.Active:=false;
table1.tablename:=Opendialog1.FileName;
table1.Active:=true;
end;
end;
Напишите обработчик события OnCreate для формы:
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSource1.DataSet:=Table1;
DBGrid1.DataSource:=DataSource1;
end;
Запустите программу и нажмите на кнопку «Открыть другую таблицу». В появившемся диалоговом окне зайдите в папку Baza и двойным щелчком выберите любую таблицу.
2.3. Самостоятельная работа
Для таблиц формата dBase и Paradox записи, составляющие НД, нумеруются с 1.
Чтобы определить номер текущей записи НД существует метод RecNo.
Выполните следующие задания:
1. При щелчке по записям таблицы выведите в поле Edit номер записи, по которой щелкнули мышью.
2. Осуществите переход на запись с указанным в поле Edit номером.
Число записей, составляющих НД, определяет свойство RecordCount типа Longint. Это свойство доступно для чтения при выполнении приложения.
Приведем пример, в котором производится перебор всех записей НД (Общая схема обработки всех записей НД):
var i:integer;
…
Table1.First; //переход к первой записи НД
for i:=1 to Table1.RecordCount do
begin
//здесь можно расположить операторы, которые обрабатывают одну запись НД
Table1.Next; //переход к следующей записи НД
end;
