Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Лабораторные работы (в ХГТУ) реферат по информатике , Сочинения из Информатика

Лабораторные работы (в ХГТУ) реферат по информатике

Вид: Сочинения

2016/2017

Загружен 11.04.2017

refbank13238
refbank13238 🇷🇺

4.5

(2)

10 документы

1 / 4

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Лабораторные работы (в ХГТУ) реферат по информатике и еще Сочинения в формате PDF Информатика только на Docsity! Таблицы, используемы в экранных формах Создадим систему экранных форм для работы со сложной связью между таблицами «Книги» и «Авторы». Данные таблицы связываются между собой с помощью третьей таблицы – «Соответствие». Таким образом, один автор может быть привязан к нескольким книгам, в написании которых он принимал участие. Связь между таблицами можно посмотреть на схеме данных. Связь книга->автор Вид формы на этапе проектирования: Вид формы работающего приложения: Содержимое левой таблицы меняется при изменения указателя в правой таблице. За это отвечает процедура: procedure TSvaz.Table1AfterScroll(DataSet: TDataSet); begin query1.Close; query1.Params[0].Value:=table1.FieldByName('KOD').AsInteger; query1.Open; end; Например при переходе на следующую запись мы меняем значение параметра “par” у компонента Query1 на значение поля “KOD” текущей записи компонента table1. Сам текст запроса Query1: select * from AVTOR where kod in( select kavt from SOOTV where kknig=:par ) Для навигации по названиям книг можно пользоваться компонентом «DBNavigator», который привязан к тому же набору что и DBGrid1(левая таблица). Для добавления и удаления автора надо пользоваться кнопками «Добавить» и «Удалить». Процедура нажатия на кнопку «удалить»: procedure TSvaz.BitBtn1Click(Sender: TObject); begin table2.FindKey([table1.fieldbyname('KOD').asinteger,query1.fieldbyname('KOD').asinteger]); table2.Delete; // переход, удаление и обновление Table1.AfterScroll(table1); end; Процедура нажатия на кнопку «добавить»: procedure TSvaz.BitBtn3Click(Sender: TObject); begin table2.Append; // добавление записи в таблицу «Соответствие» table2.FieldByName('KKNIG').Asinteger:=table1.fieldbyname('KOD').AsInteger; // в поле //“KKNIG” поместить значение кода текущей книги ShowWindow(Vibor_Avt.Handle, SW_SHOW); // показать форму выбора автора Vibor_Avt.Show; svaz.Enabled:=false; // заблокировать форму end;
Docsity logo