Задача: в субд openOffice Base создать табличную базу данных «Gurnal»





Скачать 435.83 Kb.
НазваниеЗадача: в субд openOffice Base создать табличную базу данных «Gurnal»
страница5/5
Дата публикации09.07.2014
Размер435.83 Kb.
ТипЗадача
100-bal.ru > Информатика > Задача
1   2   3   4   5

3. На созданной форме какое-либо изменение данных невозможно. Поэтому добавим на форму кнопки, с помощью которых будет производиться модификация данных (рис. 12.2).



Рис. 12.2.

Соответственно, первая кнопка Редактировать предназначена для редактирования оценки ученика, а вторая – для редактирования данных об уроке. Кнопка Удалить предназначена для удаления урока.

4. Для редактирования урока необходимо создать новую форму. На форму добавляем следующие компоненты, как показано на рисунке (рис. 12.3):



Рис. 12.3.

В свойстве SQL компонента SQLQuery1 пишем следующий запрос:

Select * from where ID_ur=:p1;

Данный запрос означает, что выводятся все поля по определенному ID_ur, который берётся из текущей записи.

Создадим отдельно процедуру.
В обработчике кнопки Сохранить пишем:

Procedure TForm11.Button1Click(Sender: tObject);

Begin

SQLQuery1.Post;

SQLQuery1.ApplyUpdates;

Form2.Red_ur;

End;

4. Опишем процедуру обработки кнопки Удалить:

Procedure TForm8.Button3Click(Sender: TObject);

Var i:integer;

Begin

If MessageDlg(‘Удалить указанный урок?’,mtConfirmation,[mbYes, mbNo])=mrYes then

Begin

I:=SQLquery2.fieldbyname(‘ID_ur’).asinteger;

sqlQuery2.close;

sqlQuery2.SQL.Clear;

sqlQuery2.SQL.add(‘delete from Urok where ID_ur=:p1;’);

sqlQuery2.Params.Items[0].Asinteger:=I;

sqlQuery2.ExecSQL;

form2.red_ur; // обновляем DBGrid2

showmessage(‘Данные были успешно удалены!’);

end;

В данной процедуре переменной I присваивается значение ID_ur, которое берется из текущей записи.

На форме Журнал в обработчике кнопки Редактировать пишем следующее:

Procedure TForm8.ButtonClick(Sender: TObject);

Begin

Form11.SQLQuery1.Active:=false;

Form11.SQLQuery1.Params.Items[0].asinteger:=SQLQuery2.FieldbyName(‘ID_ur’).AsInteger;

Form11.SQLQuery1.Active:=true;

Form11.SQLQuery1.edit;

Form11.show;

End;

Задание 1. Аналогичным образом создать новую форму для редактирования оценки ученика (рис. 12.4).



Рис. 12.4.

Замечание. При нажатии на кнопку Сохранить должны сохраняться сделанные изменения и форма должна закрываться.
Практическая работа № 13.

Реализация отчетов в приложении

Цель работы: научиться создавать отчеты.

Аппаратное и программное обеспечение: компьютер с установленной операционной системой Linux.

Задача: Создать отчет, выводящий оценки ученика по предмету.

Ход выполнения.

  1. Для начала создадим форму и поместим на неё компоненты как показано на рисунке (рис. 13.1):



Рис. 13.1.

Задание 1. Заполните Combobox1 и Combobox2, вписав их в процедуры InitUchenik и InitPredmet соответственно.

2. При нажатии на кнопку Оценки в DBGrid1 будут высвечиваться оценки ученика. Для этого в обработчике нажатия кнопки Оценки пишем следующее:

Procedure TForm10.Button1Click(Sender: TObject);

Begin

Form2.Combobox4.itemIndex:=Combobox1.ItemIndex;

Form2.Combobox8.ItemIndex:=Combobox2.ItemIndex;

Form6.UrQuery.active:=false;

Form6.UrQuery.SQL.Clear;

Form6.UrQuery.SQL.Append(‘select Urok.Data_ur, Ozenka.Ozenka, Urok.Tema, Urok.Dom_z from Ozenka, Urok where Ozenka.ID_ur=Urok.ID_ur and Ozenka.ID_uch=:p1 and Urok.ID_predm=:p2 order by Data_ur;’); // выводит оценки ученика в упорядоченном (по дате) виде

Form6.UrQuery.Params.Items[0].asinteger:=strtoint(form2.combobox4.text);

Form6.UrQuery.Params.Items[1].asinteger:=strtoint(form2.combobox8.text);

Form6.UrQuery.active:=true;

DBGrid1.Columns.Items[0].width:=80;

DBGrid1.Columns.Items[1].width:=100;

DBGrid1.Columns.Items[2].width:=250;

DBGrid1.Columns.Items[3].width:=250;

DBGrid1.Columns.Items[0].Title.Caption:=’Дата’;

DBGrid1.Columns.Items[1].Title.Caption:=’Оценка’;

DBGrid1.Columns.Items[0].Title.Caption:=’Тема’;

DBGrid1.Columns.Items[0].Title.Caption:=’Домашнее задание’;

End;

В данном коде мы пишем:

Form2.Combobox4.itemIndex:=Combobox1.ItemIndex

Это означает, что мы значение, которое выбрал пользователь, присваиваем выпадающему списку с Form2. Это делается для того, чтобы не создавать ещё один выпадающий список, содержащий уникальные номера ученика ID_uch. Если вы не хотите делать так, то просто создайте ещё два выпадающих списка, содержащих уникальные номера ученика и предмета, и уже с ними работать в запросе.

У DBGrid1 в свойстве DataSource пишем Form6.DatasourceUr.

3. Теперь необходимо, чтобы эти оценки оформлялись в отчет и выводились на бумагу. Для этого добавим на форму компоненты frReport1 и frDBDataSet1 c вкладки LazReport.

4. Компонент frDBDataSet1 помогает связаться с источником данных, в нашем случае источником данных является UrQuery (источником данных может быть любой другой запрос). В свойстве Dataset компонента frDBDataSet1 пишем Form6.UrQuery.

5. Для того, чтобы сформировать отчет, источник данных должен быть активным. Поэтому в свойство SQL компонента UrQuery копируем запрос, который выполняется при нажатии на кнопку «Оценки», то есть следующее:

select Urok.Data_ur, Ozenka.Ozenka, Urok.Tema, Urok.Dom_z from Ozenka, Urok where Ozenka.ID_ur=Urok.ID_ur and Ozenka.ID_uch=:p1 and Urok.ID_predm=:p2 order by Data_ur;

Чтобы данный запрос выполнился необходимо заменить параметры на реальные значения, то есть нужно написать следующее:

select Urok.Data_ur, Ozenka.Ozenka, Urok.Tema, Urok.Dom_z from Ozenka, Urok where Ozenka.ID_ur=Urok.ID_ur and Ozenka.ID_uch=5 and Urok.ID_predm=2 order by Data_ur;

6. Затем в свойстве Active выбрать true.

7. Теперь в свойстве Dataset компонента frReport1 пишем frDBDataSet1.

8. Для того, чтобы сформировать отчет нажимает дважды на компоненте frReport1.

Появилась пустая страница отчета. Чтобы наполнить отчет данными, выбираем в Дизайнере меню Сервис – Средства – Вставить поля БД. Появится диалоговое окно Вставить изображение. В поле Доступные наборы данных выбираем Form6.UrQuery. Теперь нужно выбрать поля, которые будут включены в отчет (в нашем случае все поля) и поставить галочки Включить заголовки и Включить поля (рис. 13.2).



Рис. 13.2.

Нажимаем кнопку ОК. Получили следующее (рис. 13.3):



Рис. 13.3.

В верхней части расположены названия полей. Данные названия можно отредактировать, для этого дважды щелкаем на поле, появляется окно Редактор текста, в нём пишем нужное нам название (рис. 13.4).



Рис. 13.4.

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

9. Сохраним отчет, для этого нажимаем Файл – Сохранить как и сохраняем отчёт в папку с проектом с расширением lrf.

10. После создания отчета необходимо очистить свойство SQL компонента UrQuery и свойство Active поставить false.

Задание 2: Создайте запрос, выводящий средние оценки ученика. Оценки должны выводиться в DBGrid1 при нажатии на кнопку «Средние оценки». Создайте также для этого запроса отчет.

11. После того, как выполните задание необходимо описать обработчик кнопки Просмотреть отчёт. В обработчике пишем следующий код:

Procedure TForm10.Button2Click(Sender: TObject);

Begin

If DBGrid1.Columns.Items[0].Title.Caption=’Предмет’ then

Begin

frReport1.loadfromfile(‘otchet1.lrf’);

frReport1.showreport;

frReport1.title:=’Средние оценки ученика по предметам’;

end

else If DBGrid1.Columns.Items[0].Title.Caption=’Дата’ then

Begin

frReport1.loadfromfile(‘otchet2.lrf’);

frReport1.showreport;

end

else showmessage(‘Отчёт не может быть сформирован!’);

end;

В данном случае мы говорим о том, что если в DBGrid1 выведены данные о средних оценках ученика, соответственно будет сформирован отчет по средним оценкам. А если выведены просто оценки ученика по конкретному предмету, то отчет будет сформирован по этим данным.
Практическая работа № 14.

Контроль исключительных ситуаций

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

Аппаратное и программное обеспечение: компьютер с установленной операционной системой Linux, СУБД MySQL и средой объектно-ориентированного программирования Lazarus.

В языке Паскаль важную роль играет обработка исключительных ситуаций, связанных с попыткой выполнения во время работы программы какого-то действия приводящего к ошибке. Исключительные ситуации контролируются специальным обработчиком исключительных ситуаций. Он перехватывает практически все возникающие в программе ошибки, приостанавливает программу, не давая выполниться разрушительной команде, и сообщает об этом пользователюи программе, передавая ей информацию об обнаруженной ошибке в виде объекта, относящегосяк специальной иерархии классов, описывающих исключительные ситуации. Базовым в этой иерархии является класс Exception. Существует несколько классов исключительных ситуаций, имена этих классов начинаются с буквы Е (Exception):

  • EConvertError – ошибка преобразования типов. Чаще всего происходит при преобразовании строки в число.

  • EDivByZero – попытка деления целого числа на ноль.

  • EZeroDivide – попытка деления вещественного числа на ноль.

  • ERangeError – выход за пределы допустимого диапазона индекса или порядкового типа.

  • EIntOverflow – переполнение в операциях с целыми числами, т.е. попытка присвоения переменной целого типа значения больше допустимого.

  • EOverflow – переполнение в операциях с вещественными числами.

  • EUnderflow – потеря значащих разрядов в операциях с вещественными числами.

  • EAccessViolation – попытка обращения к недействительному адресу в памяти. Чаще всего возникает из-за неправильной работы с указателями.

Для обработки исключений используются две конструкции. Первая конструкция имеет вид:

try

< Потенциально "опасные" операторы, при выполнении которых могут возникнуть исключительные ситуации >

except

on класс исключения 1 do < оператор обработки исключения 1 >;

on класс исключения 2 do < оператор обработки исключения 2 >;

…………………………………………………………………………

on класс исключения n do < оператор обработки исключения n >;

else

< операторы обработки остальных исключений >

end;

Данная конструкция означает, что после ключевого слова try и до ключевого слова except следуют операторы, при выполнении которых возможно возникновение исключений. После except следуют операторы, которые образуют секцию обработки исключений. Признаком конца секции служит ключевое слово end. Внутри секции программист указывает классы исключений (говорят еще типы исключений) после слова on, а затем после ключевого слова do оператор обработки исключения, причем оператор может быть составным. После необязательного слова else следуют операторы обработки исключений, не вошедшие в перечень on. Если программисту нужно только установить сам факт исключения, независимо от типа, то он может просто записать обработчик исключения после слова except.

Вторая конструкция имеет вид:

try

< Потенциально "опасные" операторы, при выполнении которых могут возникнуть исключительные ситуации >

finally

< операторы, которые должны быть выполнены в любом случае, независимо от того, произошло исключение или нет >

end;

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

Задача: Добавить в код приложения конструкцию try except .

Ход выполнения.

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

try

<операторы, которые могут вызвать исключение>

except on EO: EconvertError do showmessage('Неправильно введена дата!')

else showmessage('Неправильно введены данные!');

end;

Данные операторы лучше поместить вначале соответствующей процедуры.

Теперь, если мы не корректно введём дату, то появится соответствующее сообщение (рис.14.1).



Рис. 14.1.

Если бы мы не обработали данную исключительную ситуацию, то программа бы выдала ошибку и аварийно завершилась (рис. 14.2)



Рис. 14.2.

Задание 1. Проведите анализ своей программы и в необходимых местах проведите обработку возникающих исключительных ситуаций.




1   2   3   4   5

Похожие:

Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconВарианты заданий к расчетно–графической работе
Переименовать базу данных Борей, назвав ее своей фамилией. Открыть переименованную базу данных и создать в ней следующие объекты
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Субд, освоение технологических приемов по созданию запросов в среде субд, контроль уровня знаний и умений учащихся по темам «Создание,...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconУрок по информатике по теме "Системы управления базами данных. Создание...
Повторить понятие “База данных”, “поле базы данных”, “запись базы данных”, “субд”
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПроект по информатике «портфолио для успешной карьеры»
Создать базу данных профессий, изучить различные должности и развить навыки поиска работы
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconЗадания
Вопросы и задачи, подлежащие разработке: Выяснить, что входит в учет основных средств. Создать программу и базу данных, позволяющих...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПонятие информационно – коммуникационных технологий – (икт) и их роль в образовательном процессе
Повторить понятие “База данных”, “поле базы данных”, “запись базы данных”, “субд”
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Создать структуру однотабличной базы данных, содержащую сведения о странах Европы. В таблицу включить следующие сведения: страна,...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconБазы данных
Для признания исключительного права на базы данных не требуется специальной регистрации (однако предпочтительно осуществлять государственную...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconТема: Построение графиков в эт openOffice org Calc Дата
Цель: научить оформлять данные в электронных таблицах OpenOffice org Calc с помощью графиков, выполнить тест по теме «Электронная...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconСистемы управления базами данных (субд) реферат по «Основам информационных технологий»
...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПланирование и проектирование вашей базы данных в Access
Продумайте ваши данные перед тем, как создавать вашу базу данных
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconИнтерфейс доступа к базам данных
Вы инсталлируете sql сервер, проектируете базу данных авиалиний и потребуете от персонала авиалиний использования этого приложение....
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Место урока в теме – урок проводится в ходе изучения темы “Информационные системы”, после изучения понятий базы данных, видов баз...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconПрограмма по формированию навыков безопасного поведения на дорогах...
Место урока в теме – урок проводится в ходе изучения темы “Информационные системы”, после изучения понятий базы данных, видов баз...
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconOpenOffice Текстовый процессор Writer
Данное пособие содержит методические рекомендации и инструкции для работы в текстовом процессоре Writer из пакета OpenOffice
Задача: в субд openOffice Base создать табличную базу данных «Gurnal» iconРеферат по теме: «субд access. Основные понятия. Таблицы. Запросы....
«субд access. Основные понятия. Таблицы. Запросы. Формы. Отчёты. Создание базы данных»


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск