Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
База данных / Разработка клиентского приложения для работа с базой данных в Turbo Delphi.doc
Скачиваний:
91
Добавлен:
18.03.2015
Размер:
911.87 Кб
Скачать

Синхронное отображение таблиц.

Создадим модуль со справочной информацией специальности (Specialnost) и групп (Groups). Сделаем так чтобы информация в таблицах изменялась синхронно: при выборе специальности показывались только группы данной специальности.

Добавим еще компоненты связанные с таблицей Группы: ADODataSetGroup_SpecиADODataSourceGroup_Spec. Первоначально все их настройки совпадают со свойствами компонентовADODataSetGroups иADODataSourceGroups.

Осуществим связь таблицы SpecialnostиGroups. Для этого в синхронизуемой таблице (Группы) необходимо указать два свойства:DataSource– с какой таблицей будем синхронизировать (DataSourceSpecialnost) и свойствоMasterFields, нажмем на нем – откроется окно:

Укажем по каким полям будем соединять две таблицы: SPECIALNOST_ID и нажмем Add.

Связь осуществлена.

Сортировка по полю

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

procedure TForm<Модуль таблицы>.FormShow(Sender: TObject);

begin

DataMod.DataModule1.ADODataSet<имя таблицы>.IndexFieldNames:='<название поля по которому будем сортировать>';

end;

например для таблицы Студенты, сортировка по фамилиям

procedure TFormStud.FormShow(Sender: TObject);

begin

DataMod.DataModule1.ADODataSetStudents.IndexFieldNames:='FName'

end;

Генерирование запросов

procedure TForm3.Button3Click(Sender: TObject);

var i:integer;

begin

if DataModal.DataModule1.ADOQuery1.Prepared then begin

for i:=0 to Memo1.Lines.Count do

DataModal.DataModule1.ADOQuery1.SQL.Add(Memo1.Lines.Strings[i]);

DataModal.DataModule1.ADOQuery1.Active:=true;

end;

end;