Двойной щелчок на первой кнопке позволяет нам включить в исходный код обработчик события нажатия кнопки OnClick:
Procedure TForm1.InsBtnClick (Sender: Tobject);
Begin
IF Table1.State=dsBrowse THEN Table1.Insert;
End;
Метод Insert переводит НД Table1 в состояние добавления записи dsInsert. Ввод значений полей осуществляется в визуальных компонентах управления для отдельных полей.
Определим обработчик события нажатия кнопки “Изменить”:
Procedure TForm1.EdBtnClick (Sender: Tobject);
Begin
IF Table1.State=dsBrowse THEN Table1.Edit;
End;
Метод Edit переводит НД Table1 в состояние редактирования записи dsInsert. Ввод значений полей осуществляется в визуальных компонентах управления для отдельных полей.
Определим обработчик нажатия кнопки DelBtn:
Procedure TForm1.DelBtnClick (Sender: TObject);
Begin
IF Table1.State=dsBrowse THEN
IF MessageDlg(‘Подтвердите удаление записи’, mtConfirmation, [mbYes, mbNo],0)=mrYes THEN Table1.Delete;
End;
Если набор данных находится в режиме просмотра записей, вызывается с использованием функции MessageDlg вызывается окно диалога и если пользователь нажимает кнопку Yes, происходит удаление текущей записи в наборе Table1.
Определим обработчик события, связанного с нажатием кнопки “ Запомнить”:
Procedure TForm1.PostBtnClick (Sender: Tobject);
Begin
IF Table1.State in [dsInsert,dsEdit] THEN Table1.Post;
End;
То есть если набор данных находится в режиме добавления новой записи или редактирования, происходит выполнения метода набора данных Post для запоминания текущего состояния записи в таблице базы данных. После запоминания НД переводится в режим просмотра.
Определим обработчик нажатия кнопки “Отменить ”:
Procedure TForm1.CanBtnClick (Sender: Tobject);
Begin
IF Table1.State in [dsInsert,dsEdit] THEN Table1.Cancel;
End;
То есть если набор данных находится в режиме добавления новой записи или редактирования, происходит выполнения метода набора данных Cancel для отмены запоминания текущего состояния записи в таблице базы данных и перевод НД в режим просмотра.
Для того, чтобы список студентов нельзя было переводить в состояние изменения данных, а также удалять и добавлять записи непосредственно с использованием компонента DBGrid1, установим свойство DBGrid1.ReadOnly в значение True.
Таблицы Student и Group находятся в отношении «многие к одному». Поэтому можно сделать так, чтобы при установке указателя на определенную запись в таблице группы в DBGrid1 показывались только записи о студентах соответствующей группы. Это реализуется через механизм связи наборов Master-Detail.
Для этого требуется выполнить следующие действия:
– - введем для таблицы Table1 новый индекс по полю Num;
– в редакторе столбцов DBGrid1 сделаем столбец, соответствующий номеру группы первым по счету;
– исключим из формы компоненту DBLookupComboBox,
– разместим в форме компонеты DBText и DBNavigator соответственно для отображения наименования группы и перемещения по записям таблицы Group;
– Установим свойства DataSource новых компонентов в Datasource2, а свойство DataFields компонента DBText в NumGr;
– Сделаем невидимыми все кнопки DBNavigator, кроме кнопок для навигации по записям.
В инспекторе объектов для компонента Table1 установим значение свойства MasterSource в DataSource2. Переместимся на значение свойства Master Fields и нажмем кнопку эллипса. В появившемся окне Field Link Designer установим параметры связи. При этом будет использован новый индекс для таблицы Table1.
С использованием компонент DELPHI на основе локальной базы данных, созданной в первой лабораторной работе , сформировать экранную форму, которая отражала бы все данные, содержащиеся в документе из самостоятельной работы 1. Если в силу насыщенности документа данными студент затрудняется в их полном отражении в экранной форме, вместе с преподавателем определяется компромиссный вариант.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.