Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие - БД Делфи+++.doc
Скачиваний:
30
Добавлен:
20.11.2018
Размер:
1.05 Mб
Скачать

3 Конструктор таблиц DataBase Desktop

В СУБД DELPHI существует программа-конструктор таблиц реляционных баз данных - DataBaseDesktop для разработки структуры таблиц БД.

Рассмотрим последовательность и режимы работы с DataBaseDesktop:

1. Вызываем Data Base Desktop из меню «ПУСК», при открытии этой программы открываются диалоговые окна, в которых выбираются формат БД. DELPHI работает с многими форматами, но по умолчанию предлагается Paradox 7.

2. После выбора формата открывается конструктор таблиц, в котором задается описание полей и задание ключа, задание индексов и т. д

3. В Delphi каждая таблица хранится в отдельном файле со своим именем, а вся база находится в отдельном каталоге, поэтому рекомендуется перед разработкой таблицы создать каталог данных.

Через кнопку «ПУСК» зайти в Data Base Desktop и создать структурированную таблицу в конструкторе. Для каждого поля таблицы задаются его имя и тип данных, который выбирается из открывающегося списка.

  1. Сохранить таблицу в папку с именем БД,

  2. Для просмотра таблицы выбираем Table View.

Окно программы DataBase Desktop с примерами конструктора таблиц БД.

Примеры таблиц с введенными строками .

Окно программы DataBase Desktop в режиме просмотра таблиц и заполнения

нескольких отладочных строк для отображения данных

.

После работы Data Base Desktop, когда создана структура таблицы, можно вводить данные в таблицу после сохранения в меню Table и выбрать меню

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

4 Форма для отображения таблиц с помощью компонента tTable.

Далее через меню «ПУСК» открыть Borland Delphi и новую форму.

Для отображения таблиц установим на форме в Delphi четыре компонента:

- ТTable

- ТData Source

- ТDbGrid

- TDBNavigator

Для компонента Table1 зададим свойства:

Database name= имя Базы Дан

Table Name = имя отображаемой таблицы

Для компонента Data Source1 зададим свойство:

Dataset=Table1

Для компонента DBGrid1 зададим свойство:

Data Source = Data Source1

И теперь - для компонента Table1 установим свойство

Active=true !!! После этого на форме должна отобразиться указанная таблица.

Для компонента DBNavigator1 зададим свойство:

Data Source = Data Source1

Теперь можно перемещаться по записям таблицы при просмотре БД.

Окно формы в режиме визуального конструирования с компонентами.

Для каждой таблицы задается своя группа из 4-х компонентов:

- ТTable

- ТData Source

- ТDb Grid,

-- TDBNavigator , которые связываются через свойства с каждой таблицей БД.

Окно формы с таблицами и навигаторами после запуска модуля.

Итак, таблицы отображены на форме! Как же работать с ними?

Используем установленный нами компонент TDBNavigator, который позволяет выполнять любые необходимые действия над строками таблиц. Компонент TDBNavigator, представляет собой совокупность управляющих кнопок, выполняет операции навигации по набору данных и модификации записей целиком. Компонент TDBNavigator при помощи свойства DataSource связывается с компонентом TDataSource и через него с набором данных.

Компонент TDBNavigator содержит набор кнопок, каждая из которых отвечает за выполнение одной операции над набором данных. Всего имеется 10 кнопок, разработчик может оставить в наборе любое количество кнопок в любом сочетании. Видимостью кнопок управляет свойство visibleButtons.

Кнопки компонента DBNavigator

 

Кнопка

Обозначение

Действие

К первой

nbFirst

Указатель текущей записи перемещается к первой записи файла данных

К предыдущей

nbPrior

Указатель текущей записи перемещается к предыдущей записи файла данных

К следующей

nbNext

Указатель текущей записи перемещается к следующей записи файла данных

К последней

nbLast

Указатель текущей записи перемещается к последней записи файла данных

Добавить

nblnsert

В файл данных добавляется новая запись

Удалить

nbDelete

Удаляется текущая запись файла данных

Редактирование

nbEdit

Устанавливает режим редактирования текущей записи

Сохранить

nbPost

Изменения, внесенные в текущую запись, записываются в файл данных

Отменить

Cancel

Отменяет внесенные в текущую запись изменения

Обновить

nbRefresh

Записывает внесенные изменения в файл

Следует обратить внимание на свойство visibleButtons. Оно позволяет скрыть некоторые кнопки компонента DBNavigator и тем самым запретить выполнение соответствующих операций над файлом данных. Например, присвоив значение False свойству VisibieButtons.nbDelete можно скрыть кнопку УДАЛИТЬ запись.

Каждый элемент типа TNavigateBtn представляет одну кнопку, их назначение описывается ниже:

First — перемещение на первую запись набора данных; 

Prior — перемещение на предыдущую запись набора данных;

Next — перемещение на следующую запись набора данных;

Last — перемещение на последнюю запись набора данных; 

lnsert — вставка новой записи в текущей позиции набора данных;

Delete — удаление текущей записи, курсор перемешается на следующую запись;

Edit — таблица переводится в режим редактирования;

Post — в базу данных переносятся все изменения в текущей записи;

cancel — все изменения в текущей записи отменяются;

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

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

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

На рисунке присутствует раскрывающийся список – ФИО работника.

В свойстве PickList компонента DbGrid1 можно организовать раскрывающийся список для полей: Клиент, ФИО Работника. Этот список создается в процедуре создания формы - FormCreate.

Процедура обработки события создания формы:

procedure TForm1.FormCreate(Sender: TObject);

Var i:integer;

begin

Table2.First; // Список для поля ФИО поставщика

For i:=1 to Table2.RecordCount do

Begin

BGrid1.Columns[3].PickList.ADD(Table2.FieldbyName('FIO_post').Asstring);

Table2.Next;

end;

Table3.First; // Список для поля ФИО работника

For i:=1 to Table3.RecordCount do

Begin

DBGrid1.Columns[2].PickList.ADD(Table3.FieldbyName('FIO').Asstring);

Table3.Next;

end;

Table4.First; ; // Список для поля Наименование работы

For i:=1 to Table4.RecordCount do

Begin

BGrid1.Columns[1].PickList.ADD(Table4.FieldbyName('Naimen').Asstring);

Table4.Next;

end; end;

Используя компонент Навигатор пользователь может работать с записями таблиц. Но иногда программист не хочет предоставлять пользователю возможность добавлять или удалять строки. Тогда строится новая форма.