Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_Delphi_Теория_Контр_работа.doc
Скачиваний:
34
Добавлен:
31.05.2015
Размер:
3.15 Mб
Скачать

2.6. Редактирование данных через компоненты

Для реализации редактирования текущей записи через отдельные компоненты необходимо в форму добавить кнопки Редактировать и Сохранить изменения (рис. 2.10).

Рис. 2.10. Вид формы с кнопками для редактирования

С кнопкой Редактировать связана следующая процедура:

Var

i: integer;

begin

{Перезапись в компоненты полей текущей записи}

Edit1.text:= имя_модуля_данных.ADOTable1['Sh_gr'];

ComboBox1.Text := имя_модуля_данных.ADOTable1 ['Facul'];

ComboBox2.Text := имя_модуля_данных.ADOTable1 ['Spec'];

for i:=0 to ComboBox1.Items.Count-1 do

if ComboBox1.Items[i]=IntToStr(имя_модуля_данных.ADOTable1['Kurs'])

then

begin

ComboBox1.ItemIndex:=i;

break;

end;

Edit2.text := имя_модуля_данных.ADOTable1 ['Star'];

DateTimePicker1.Date := имя_модуля_данных.ADOTable1 ['Dat_zach'];

End;

С кнопкой Сохранить изменения связана следующая процедура:

{Перевод текущей записи в состояние редактирования с помощью метода Edit}

имя_модуля_данных.ADOTable1.Edit;

{Присвоение полям текущей записи значений компонентов}

имя_модуля_данных.ADOTable1 ['Sh_gr']:=Edit1.text;

имя_модуля_данных.ADOTable1 ['Facul']:=ComboBox1.Text;

имя_модуля_данных.ADOTable1 ['Spec']:=ComboBox2.Text;

имя_модуля_данных.ADOTable1['Kurs']:= StrToInt(ComboBox1.Items[ComboBox1.ItemIndex]);

имя_модуля_данных.ADOTable1 ['Star']:=Edit2.text;

имя_модуля_данных.ADOTable1 ['Dat_zach']:=DateTimePicker1.Date;

{Сохранение сделанных изменений в текущей записи с помощью метода Post}

имя_модуля_данных.ADOTable1.Post;

3. Реализация сортировки, вычислений и фильтрации данных

3.1. Реализация сортировки

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

компонент DataSource (источник данных); настроить свойство DataSet – имя таблицы, находящейся на модуле данных (в модуле, соответствующем созданной форме для доступа к компонентам модуля данных в разделе implementation выставить uses unit2 (если модуль данных был создан вторым));

компонент DbGrid (таблица для отображения информации); настроить свойство DataSource – DataSource1.

Сортировка с помощью отдельной кнопки осуществляется следующим образом.

Поставить на форму компонент Кнопка (Button1), для свойства OnClick данной кнопки написать процедуру

Имя_модуля_данных.ADOTable1.Sort:='Avt ASC';

Данная процедура реализует сортировку таблицы ADOTable1 по возрастанию для поля Avt (авторы). Если вместо ключевого слова Asc использовать Desc, то будет убывающая сортировка.

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

1. На форму можно поставить компонент Panel1, удалить надпись в свойстве Caption.

2. На панель поставить компонент Radiogroup1, для него в свойстве Caption задать надпись Вид сортировки; в свойстве Items задать подписи для переключателей (например, по автору, по области знаний, по шифру книги).

3. Добавить на форму кнопку Button1 (задать надпись Сортировать), для свойства OnClick данной кнопки написать процедуру:

case RadioGroup1.ItemIndex of

0: DataM.ADOTable3.Sort:='Avt ASC';

1: DataM.ADOTable3.Sort:='Oblzn ASC';

2: DataM.ADOTable3.Sort:='Sh_gr ASC';

end;

4. При выборе первого переключателя будет сортировка по полю Авторы, при выборе второго переключателя будет сортировка по полю Область знаний, при выборе третьего переключателя – по полю Шифр книги.

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