База данных для организации учёта успеваемости студентов

Логическая и физическая модели базы данных. Запрет на содержание неопределенных значений. Размещение базы данных на сервере. Реализация клиентского приложения управления базой данных. Модульная структура приложения. Основные экранные формы приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.06.2012
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ОГЛАВЛЕНИЕ

Введение

1. Описание предметной области

1.1 Логическая модель базы данных

1.2 Физическая модель базы данных

1.3 Размещение базы данных на сервере

2. Реализация клиентского приложения управления базой данных

2.1 Обоснование выбора среды разработки

2.2 Модульная структура приложения

2.3 Основные экранные формы

Заключение

Библиографический список

Приложения

Приложение А - листинг файла Uspevaemost.pas

Приложение Б - листинг файла Unit2.pas

Приложение В - листинг файла Unit3.pas

Приложение Г - листинг файла Unit4.pas

Приложение Д - листинг файла Unit5.pas

Приложение Е - листинг файла Unit6.pas

Приложение Ж - листинг файла Unit7.pas

Приложение З - листинг файла modul.pas

Введение

Данный программный комплекс разработан для организации учёта успеваемости студентов. Для создания базы данных был использован Microsoft SQL Server 2000. Для создания клиентской части была использована среда разработки Borland Delphi 7.

1. Описание предметной области

1.1 Логическая модель базы данных

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

Каждый предмет может быть сдан несколькими студентами, но является закреплённым за одни конкретным преподавателем. Один предмет может быть сдан студентом только один раз. Т.е. студент не может иметь несколько оценок за один предмет. Студент может сдавать несколько предметов. Каждый преподаватель может вести несколько предметов.

Исходя из этих данных, можно выделить следующие сущности:

o преподаватель;

o студент;

o предмет;

o результат сдачи.

Выделим связи между этими сущностями:

o преподаватель ведёт предмет (1 ко многим);

o преподаватель определяет результат сдачи (1 ко многим);

o студент получает результат (1 ко многим);

o результат сдачи выставляется по предмету (1 ко многим).

Теперь мы можем сформировать отношения между сущностями:

o преподаватель {Код_преподавателя (первичный ключ)} - предмет {Код_предмета (первичный ключ), Код_преподавателя (внешний ключ)};

o преподаватель {Код_преподавателя (первичный ключ)} - результат сдачи {Номер_записи (первичный ключ), Код_преподавателя (внешний ключ)};

o студент {Номер_зачётки (первичный ключ)} - результат сдачи {Номер_записи (первичный ключ), Код_преподавателя (внешний ключ), Номер_зачётки (внешний ключ)};

o результат сдачи {Номер_записи (первичный ключ), Код_преподавателя (внешний ключ), Номер_зачётки (внешний ключ), Код_предмета (внешний ключ)} - предмет {Код_предмета (первичный ключ), Код_преподавателя (внешний ключ)}.

Теперь введём неключевые атрибуты:

o преподаватель {Код_преподавателя, Фамилия_преподавателя, Имя_преподавателя, Отчество_преподавателя, Должность};

o студент {Номер_зачётки, Фамилия_студента, Имя_студента, Отчество_студента, Группа, Код_специальности};

o предмет{Код_предмета, Код_преподавателя, Название_предмета, Часы, Курс};

o результат сдачи {Номер_записи, Код_преподавателя, Номер_зачётки, Код_предмета, Оценка, Дата}.

1.2 Физическая модель базы данных

База данных нормализована и состоит из четырех таблиц:

1. Prepodavateli;

2. Students;

3. Subjects;

4. Results.

Таблица Prepodavateli (рисунок 1) состоит из 5 полей. Поле Kod_prepodavatelja содержит индивидуальный код, который является целым число, поэтому имеет тип int. Это поле является уникальным для каждого преподавателя и потому является ключевым. Поля Surname_prepodavatelja, Name_prepodavatelja, Otchestvo_prepodavatelja содержат информацию о Ф.И.О. преподавателя и потому имеют тип char. Поле Doljnost содержит информацию о занимаемой преподавателем должности и имеет тип char.

Для всех полей стоит запрет на содержание неопределённых значений (NULL), т.к. каждое поле содержит важную информацию.

Рисунок 1 - Таблица Prepodavateli

Таблица Students (рисунок 2) состоит из 6 полей. Поле Nomer_zachetki содержит номер зачётной книжки студента, который является целым число, поэтому имеет тип int. Это поле является уникальным для каждого студента и потому является ключевым. Поля Surname, Name, Otchestvo содержат информацию о Ф.И.О. студента и потому имеют тип char. Поле Gruppa содержит информацию о названии группы, в которой учится студент, и имеет тип char. Поле Kod_specialnosti содержит информацию о код специальности студента и имеет тип int, т.к. код является целым числом.

Для всех полей стоит запрет на содержание неопределённых значений (NULL), т.к. каждое поле содержит важную информацию.

Рисунок 2 - Таблица Students

Таблица Subjects (рисунок 3) состоит из 5 полей. Поле Kod_predmeta содержит код, который является целым число, поэтому поле имеет тип int. Это поле уникально для каждого предмета и потому является ключевым. Поле Nazvanie содержит название предмета и потому имеет тип char. Поля Kod_prepodavatelja, Chasi и Kurs содержат код преподавателя, количество часов, отведённых на предмет, и курс, на котором читается данный предмет, соответственно. Эти поля имеют тип int.

Для всех полей стоит запрет на содержание неопределённых значений (NULL), т.к. каждое поле содержит важную информацию.

Рисунок 3 - Таблица Subjects

Таблица Results (рисунок 4) состоит из 6 полей. Поле N содержит номер записи в ведомости, поэтому поле имеет тип int. Это поле уникально для каждой записи и потому является ключевым. Поле Ocenka содержит результат сдачи студентом экзамена. Оно имеет тип int. Поле Data_sdachi содержит дату сдачи экзамена и имеет тип datetime. Поля Nomer_zachetki, Kod_predmeta и Kod_prepodavatelja содержат номер зачётки, код предмета и код преподавателя, соответственно. Эти поля имеют тип int.

Для всех полей стоит запрет на содержание неопределённых значений (NULL), т.к. каждое поле содержит важную информацию.

Рисунок 4 - Таблица Results

Диаграмма связей таблиц представлена на рисунке 2.

Рисунок 5 - Диаграмма связей

1.3 Размещение базы данных на сервере

Моя база данных была создана на MS SQl Server2000. Она называется Uspevaemost (рисунок 6).

Рисунок 6 - Свойства базы данных

Для создания моей базы данных достаточно одного файла данных (Uspevaemost_Data.MDF) и одного файла журналов (Uspevaemost_Log.LDF), т.к. она имеет довольно небольшой объём.

2. Реализация клиентского приложения управления базой данных

2.1 Обоснование выбора среды разработки

Для создания клиентского приложения была выбрана среда разработки Borland Delphi 7.

Delphi позволяет создавать программы для обработки любых типов баз данных форматов Dbase, Paradox и системы ODBC, применяемой в Microsoft Access. Для работы с базой данных в Delphi я использовал следующие компоненты, размещенные в палитрах Data Access и Data Controls.

o DataSourse. Связывает компоненты набора данных Table или Query с компонентами связи данными, такими как DBEdit, DBMemo.

o DBGrid. Связанная с данными сетка из нескольких столбцов и строк, в которой отображаются записи базы данных. Обычно используется с объектом DBNavigator.

o DBNavigator. Сложное устройство для просмотра и редактирования базы данных.

o Query. Формирует SQL- запросы к Borland Database Engine или к серверу SQL.

o Table. Предоставляет приложению возможность доступа к базам данных посредством Borland Database Engine.

2.2 Модульная структура приложения

Основным модулем моего приложения является Unit1.dcu. Он отвечает за авторизацию. И в зависимости от выбранного пользователя данный модуль позволяет перейти к модулям программы, ориентированным на разных пользователей.

Модуль Unit6.dcu предназначен для пользователя «Преподаватель». Он позволяет перейти к одной из интересующих пользователя форм для редактирования информации базы данных.

Модуль Unit7.dcu предназначен для пользователя «Студент». С его помощью пользователь может осуществлять поиск вывод необходимой информации из базы данных.

Модуль modul.dcu содержит компоненты DataSourse, ADOTable и ADOQuery, необходимые для связи с базой данных и осуществления поиска.

Схематически модульная структура приложения представлена на рисунке 7.

2.3 Основные экранные формы

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

Рисунок 7 - Окно выбора пользователя

При вводе неверного пароля на экране появится сообщение об ошибке (рисунок 8).

Рисунок 8 - Ошибка ввода пароля

При выборе учётной записи «студент» и нажатии кнопки «войти», происходит переход в окно для поиска результатов экзамена (рисунок 9).

Рисунок 9 - Окно поиска результата

Здесь есть два поля для ввода номера зачётной книжки и кода предмета. При желании студент может ввести только зачётку и поставив галочку «Показать все предметы студента» найти все сданные им предметы.

Нажатие кнопки «сформировать отчёт» приведёт к формированию отчёта по найденным данным.

Кнопка «смена пользователя» предназначена для перехода в диалоговое окно выбора пользователя.

При выборе учётной записи «преподаватель», введении правильного пароля и нажатии кнопки «войти», происходит переход в меню для преподавателей (рисунок 10).

Рисунок 10- Меню

Выбор первого пункта меню приведёт к переходу на форму со списком преподавателей (рисунок 11).

Рисунок 11 - Список преподавателей

Используя эту форму можно корректировать список преподавателей.

Выбор второго пункта меню приведёт к переходу на форму со списком студентов (рисунок 12).

Рисунок 12 - Список студентов

Используя эту форму можно корректировать список студентов.

Выбор второго пункта меню приведёт к переходу на форму со списком предметов (рисунок 13).

Рисунок 13 - Список студентов

Используя эту форму можно корректировать список предметов.

Выбор пункта «перейти в ведомость» приведёт к переходу на форму с результатами экзаменов. Используя эту форму можно корректировать ведомость и осуществлять поиск по ней (рисунок 14).

Рисунок 14 - Ведомость

Заключение

В результате выполнения данной работы были решены все поставленные задачи:

1. Произведён анализ предметной области.

2. Разработана логическая модель базы данных.

3. Разработана физическая модель базы данных.

4. Создана база данных и размещена на сервере.

5. Реализована клиентская часть приложения управления базой данных.

Библиографический список

1. Маклаков, С.В. Case-средства разработки информационных систем / С.В. Маклаков - М.: Диалог-МИФИ, 2000. - 254 с.

2. Мамаев, Е.В. Microsoft SQl Server 2000 для профессионалов / Е.В. Мамаев - СПб.: Питер, 2004. - 365 с.

3. Томас Конноли, Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Томас Конноли - М.: Вильяме, 2003. - 1440 с.

4. Хоторн Роб, Разработка баз данных, Micrososoft SQL Server 2000 / Хоторн Роб - М.: Вильяме, 2001. - 217 с.

5. Хью Дарвен, Основы будущих систем баз данных / Хью Дарвен - М: Янус-К, 2004. - 656 с.

Приложения

Приложение А - листинг файла Uspevaemost.pas

база данное приложение управление

unit Uspevaemost;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, modul, ExtCtrls, DBCtrls, StdCtrls, QuickRpt,

QRCtrls,Unit3,Unit4;

type

TForm1 = class(TForm)

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Edit1: TEdit;

Label1: TLabel;

Button5: TButton;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit5, Unit6, Unit7;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.Edit1Click(Sender: TObject);

begin

if (RadioButton2.Checked=true) then

begin

Edit1.Clear;

Edit1.ReadOnly:=false;

end

else

Edit1.ReadOnly:=true;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

if (RadioButton1.Checked=true) then

begin

Form7.Show;

Form1.Hide;

end;

if (RadioButton2.Checked=true)then

if (Edit1.Text='123') then

begin

Edit1.Text:='Введите пароль...';

Form6.Show;

Form1.Hide;

end

else

MessageBox(handle, PChar('Неверный пароль!'),PChar('Ошибка'),MB_OK);

end;

if (Form1.RadioButton1.Checked=true) then

begin

Form3.DBGrid1.ReadOnly:=true;

Form3.DBGrid2.ReadOnly:=true;

Form3.DBGrid3.ReadOnly:=true;

Form3.DBGrid4.ReadOnly:=true;

end;}

end.

Приложение Б - листинг файла Unit2.pas

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, modul, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, QRCtrls,

QuickRpt;

type

TForm2 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button3: TButton;

Button2: TButton;

DBGrid2: TDBGrid;

Label2: TLabel;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

Button5: TButton;

Button1: TButton;

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Uspevaemost, Unit6;

{$R *.dfm}

procedure TForm2.Button4Click(Sender: TObject);

var s : string;

begin

s:='select * from Students where Nomer_zachetki='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Hide;

Form6.Show;

end;

procedure TForm2.Button5Click(Sender: TObject);

var s : string;

begin

s:='delete from Students where Nomer_zachetki='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.ExecSQL;

DataModule2.ADOTable6.Close;

DataModule2.ADOTable6.Open;

end;

procedure TForm2.Edit2Click(Sender: TObject);

begin

Edit2.Clear;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

Form2.Hide;

Form1.Show;

end;

end.

Приложение В - листинг файла Unit3.pas

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, QRCtrls, QuickRpt, ExtCtrls, modul;

type

TForm3 = class(TForm)

QuickRep1: TQuickRep;

ColumnHeaderBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel5: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

QRLabel8: TQRLabel;

DetailBand1: TQRBand;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRDBText6: TQRDBText;

QRDBText7: TQRDBText;

QRDBText8: TQRDBText;

QRDBText5: TQRDBText;

PageFooterBand1: TQRBand;

QRExpr1: TQRExpr;

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DBGrid4: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Button2: TButton;

DBGrid5: TDBGrid;

Button3: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button4: TButton;

CheckBox1: TCheckBox;

Button5: TButton;

Button7: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

uses Uspevaemost, Unit6;

{$R *.dfm}

procedure TForm3.Button2Click(Sender: TObject);

begin

Form3.Hide;

Form6.Show;

end;

procedure TForm3.Button1Click(Sender: TObject);

begin

QuickRep1.Preview;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm3.Button4Click(Sender: TObject);

var s : string;

begin

If (CheckBox1.Checked=false) then

begin

s:='select * from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39)+'and Kod_predmeta='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end

else

begin

s:='select * from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end;

end;

procedure TForm3.Edit1Click(Sender: TObject);

begin

Edit1.Clear;

end;

procedure TForm3.Edit2Click(Sender: TObject);

begin

If (CheckBox1.Checked=false) then

begin

Edit2.Clear;

Edit2.ReadOnly:=false;

end

else

Edit2.ReadOnly:=true;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

QuickRep1.Visible:=false;

end;

procedure TForm3.Button5Click(Sender: TObject);

var s : string;

begin

If (CheckBox1.Checked=false) then

begin

s:='delete * from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39)+'and Kod_predmeta='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.ExecSQL;

DataModule2.ADOTable4.Close;

DataModule2.ADOTable4.Open;

end

else

begin

s:='delete from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.ExecSQL;

DataModule2.ADOTable4.Close;

DataModule2.ADOTable4.Open;

end;

end;

procedure TForm3.Button7Click(Sender: TObject);

begin

Form3.Hide;

Form1.Show;

end;

end.

Приложение Г - листинг файла Unit4.pas

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, modul, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm4 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button3: TButton;

Button2: TButton;

DBGrid2: TDBGrid;

Label2: TLabel;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

Button5: TButton;

Button1: TButton;

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

uses Uspevaemost, Unit6;

{$R *.dfm}

procedure TForm4.Button2Click(Sender: TObject);

begin

Form4.Hide;

Form6.Show;

end;

procedure TForm4.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm4.Button4Click(Sender: TObject);

var s : string;

begin

s:='select * from Prepodavateli where Kod_prepodavatelja='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end;

procedure TForm4.Edit2Click(Sender: TObject);

begin

Edit2.Clear;

end;

procedure TForm4.Button5Click(Sender: TObject);

var s : string;

begin

s:='delete from Prepodavateli where Kod_prepodavatelja='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.ExecSQL;

DataModule2.ADOTable5.Close;

DataModule2.ADOTable5.Open;

end;

procedure TForm4.Button1Click(Sender: TObject);

begin

Form4.Hide;

Form1.Show;

end;

end.

Приложение Д - листинг файла Unit5.pas

unit Unit5;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, modul, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;

type

TForm5 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button3: TButton;

Button2: TButton;

DBGrid2: TDBGrid;

Label2: TLabel;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Button4: TButton;

Button5: TButton;

Button1: TButton;

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

uses Uspevaemost, Unit6;

{$R *.dfm}

procedure TForm5.Button4Click(Sender: TObject);

var s : string;

begin

s:='select * from Subjects where Kod_predmeta='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

Form5.Hide;

Form6.Show;

end;

procedure TForm5.Edit2Click(Sender: TObject);

begin

Edit2.Clear;

end;

procedure TForm5.Button5Click(Sender: TObject);

var s : string;

begin

s:='delete from Subjects where Kod_predmeta='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.ExecSQL;

DataModule2.ADOTable7.Close;

DataModule2.ADOTable7.Open;

end;

procedure TForm5.Button1Click(Sender: TObject);

begin

Form5.Hide;

Form1.Show;

end;

end.

Приложение Е - листинг файла Unit6.pas

unit Unit6;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm6 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

procedure Button6Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

uses Uspevaemost, Unit2, Unit4, Unit5, Unit3;

{$R *.dfm}

procedure TForm6.Button6Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

Form2.Show;

Form6.Hide;

end;

procedure TForm6.Button1Click(Sender: TObject);

begin

Form4.Show;

Form6.Hide;

end;

procedure TForm6.Button3Click(Sender: TObject);

begin

Form5.Show;

Form6.Hide;

end;

procedure TForm6.Button4Click(Sender: TObject);

begin

Form3.Show;

Form6.Hide;

end;

procedure TForm6.Button5Click(Sender: TObject);

begin

Form6.Hide;

Form1.Show;

end;

end.

Приложение Ж - листинг файла Unit7.pas

unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, modul, StdCtrls, Grids, DBGrids, QRCtrls, QuickRpt, ExtCtrls,

jpeg;

type

TForm7 = class(TForm)

QuickRep1: TQuickRep;

ColumnHeaderBand1: TQRBand;

QRLabel1: TQRLabel;

QRLabel2: TQRLabel;

QRLabel3: TQRLabel;

QRLabel4: TQRLabel;

QRLabel6: TQRLabel;

QRLabel7: TQRLabel;

DetailBand1: TQRBand;

QRDBText1: TQRDBText;

QRDBText2: TQRDBText;

QRDBText3: TQRDBText;

QRDBText4: TQRDBText;

QRDBText6: TQRDBText;

QRDBText5: TQRDBText;

PageFooterBand1: TQRBand;

QRExpr1: TQRExpr;

Button1: TButton;

DBGrid5: TDBGrid;

Button3: TButton;

Edit1: TEdit;

Edit2: TEdit;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button4: TButton;

CheckBox1: TCheckBox;

Button7: TButton;

Image1: TImage;

procedure Button4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Edit1Click(Sender: TObject);

procedure Edit2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

uses Uspevaemost;

{$R *.dfm}

procedure TForm7.Button4Click(Sender: TObject);

var s : string;

begin

If (CheckBox1.Checked=false) then

begin

s:='select * from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39)+'and Kod_predmeta='+ chr(39)+ edit2.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end

else

begin

s:='select * from Results where Nomer_zachetki='+ chr(39)+ edit1.Text+chr(39);

DataModule2.ADOQuery1.SQL.Clear;

DataModule2.ADOQuery1.SQL.Add(S);

DataModule2.ADOQuery1.Active:=true;

end;

end;

procedure TForm7.FormCreate(Sender: TObject);

begin

QuickRep1.Visible:=false;

end;

procedure TForm7.Edit1Click(Sender: TObject);

begin

Edit1.Clear;

end;

procedure TForm7.Edit2Click(Sender: TObject);

begin

If (CheckBox1.Checked=false) then

begin

Edit2.Clear;

Edit2.ReadOnly:=false;

end

else

Edit2.ReadOnly:=true;

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm7.Button7Click(Sender: TObject);

begin

Form7.Hide;

Form1.Show;

end;

procedure TForm7.Button1Click(Sender: TObject);

begin

QuickRep1.Preview;

end;

end.

Приложение З - листинг файла modul.pas

unit modul;

interface

uses

SysUtils, Classes, DB, ADODB;

type

TDataModule2 = class(TDataModule)

ADOTable1: TADOTable;

DataSource1: TDataSource;

ADOTable2: TADOTable;

DataSource2: TDataSource;

ADOTable3: TADOTable;

DataSource3: TDataSource;

ADOTable4: TADOTable;

DataSource4: TDataSource;

ADOQuery1: TADOQuery;

DataSource5: TDataSource;

ADOTable5: TADOTable;

DataSource6: TDataSource;

ADOTable6: TADOTable;

DataSource7: TDataSource;

ADOTable7: TADOTable;

DataSource8: TDataSource;

private

{ Private declarations }

public

{ Public declarations }

end;

var

DataModule2: TDataModule2;

implementation

{$R *.dfm}

end.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.