
- •Курсовая работа
- •Оглавление:
- •Введение.
- •Постановка задачи.
- •1. Задание.
- •2. Общие требования к разработке приложений бд.
- •3. Перечень и способы самостоятельно решаемых задач.
- •4. Критерии оценки полученных компетенций по курсовой работе (заполняются преподавателем при защите работы), приведенные в таблице 1. На основе средней оценки выставляется оценка за курсовую работу.
- •Теоретическая часть. Основные понятия баз данных.
- •Принципы организации данных, лежащие в основе субд.
- •Реляционные Базы Данных
- •Системы управления базами данных
- •Проектирование Базы данных. Инфологическая модель.
- •Логическая модель.
- •Структура таблиц.
- •Проектирование sql-запросов.
- •Реализация базы данных. Классификация пользователей и их функций.
- •Структура и функции системы.
- •Руководство для пользователя.
- •Если вы выберите Запросы, то перед вами будут расположены все запросы нашей базы данных:
- •Руководство для программиста. Создание таблиц.
- •Создание приложения в Delphi.
- •Создание выпадающего списка.
- •Создание кнопок.
- •Then begin
- •Список литературы.
Создание выпадающего списка.
В полях некоторых таблиц, где есть альтернатива заполнения, для простоты ввода я ввела список возможных значений столбцов. Для этого необходимо в свойстве PickList объекта столбца ввести все возможные значения. И потом при редактировании ячейки столбца в ее правом углу появляется стрелка, при нажатии которой раскрывается список и позволяет выбрать одно из значений. При этом можно ввести в ячейку любое допустимое значение.
Создание кнопок.
Для корректного закрытия формы на нее помещается компонент Button, который располагается на вкладке Standard.
Для того чтобы кнопка работала необходимо в Обработчике событий OnClick указать:
//Нажатие на кнопку Выход
procedure TForm10.N2Click(Sender: TObject);
begin
Form10.Close;
Form2.Close;
Form5.Close;
end;
Также кнопки можно использовать и для открытия формы, для этого необходимо в Обработчике событий OnClick указать
//Отображение формы "Справка"
procedure TForm10.N5Click(Sender: TObject);
begin
Form1.Show;
end;
Создание поля с текстом.
Для отображения текста я использовала компонент Memo, расположенный на вкладке Standard.
В свойстве объекта Lines следует поместить нужный вам текст:
Создание компонента Набор страниц.
Для удобного и наглядного расположения на форме таблиц используется компонент Page Control, расположенный на вкладке Win32.
Первоначально компонент, помещенный на форму, будет пустым - не содержащим ни одной страницы. Новая страница добавляется командой New Page(создать страницу) из контекстного меню.
Создание подписей к таблицам.
Для подписи таблицы в курсовой работе был использован компонент Lable, расположенный на вкладке Standard. В Инспекторе Объектов в свойстве Caption нужно просто написать текст.
Отображение sql-запросов.
Для отображения запросов требуются компоненты: DataSource, DBGrid, описанные ранее. Для написания самого sql-запроса на форму помещается визуальный компонент Query, расположенный на вкладке BDE.
В Инспекторе Объектов данного компонента в свойстве DatabaseName следует указать ранее созданный псевдоним, в строке SQL непосредственно пишется запрос.
Создание выпадающего списка.
Для выбора команды из имеющегося списка я использовала компонент ComboBox (выпадающий список). Его заполнение можно осуществить таким образом
В Инспекторе Объектов в свойстве Items я написала следующее:
Создание отчетов.
Отчет создается с помощью инструмента RaveReports. Для создания отчета помещаем на новую форму RVProject, RVQueryConnnection и Query и задаем для них нужные свойства.
Листинг программы.
Описание проекта
program Project1;
uses
Forms,
MainMenu in 'MainMenu.pas' {Form10},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm5, Form5);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm10, Form10);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TForm4, Form4);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Описание модуля Unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Описание модуля Unit2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses MainMenu, Unit5;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Form10.Show;
end;
end.
Описание модуля Unit3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Form3.Close;
end;
end.
Описание модуля Unit4
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, DBTables, RpCon, RpConDS, RpConBDE,
RpDefine, RpRave, StdCtrls;
type
TForm4 = class(TForm)
RvProject1: TRvProject;
RvQueryConnection1: TRvQueryConnection;
Query7: TQuery;
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
Button3: TButton;
Memo3: TMemo;
Memo4: TMemo;
Button4: TButton;
RvProject2: TRvProject;
RvQueryConnection2: TRvQueryConnection;
Query8: TQuery;
RvProject3: TRvProject;
RvQueryConnection3: TRvQueryConnection;
Query6: TQuery;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
RVProject1.Execute;
end;
procedure TForm4.Button4Click(Sender: TObject);
begin
Form4.Close;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
RVProject2.Execute;
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
RVProject3.Execute;
end;
end.
Описание модуля Unit 5
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm5 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
Login: TComboBox;
Parol: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm5.Button2Click(Sender: TObject);
begin
Form5.Close;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
if (((Login.Text='USER') and (Parol.Text='user')) or
((Login.Text='ADMIN') and (Parol.Text='admin'))) then
begin
Form2.Show;
end
else ShowMessage('Неверный пароль!');
end;
end.
Описание модуля Unit 10
unit MainMenu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, DBTables, ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls,
StdCtrls, Mask;
type
TForm10 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
DataSource1: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
Table1: TTable;
Table2: TTable;
Table3: TTable;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
DBGrid1: TDBGrid;
Table4: TTable;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
DBNavigator1: TDBNavigator;
DBNavigator2: TDBNavigator;
DBNavigator3: TDBNavigator;
DBNavigator4: TDBNavigator;
Button1: TButton;
Button2: TButton;
PageControl2: TPageControl;
Query1: TQuery;
DataSource5: TDataSource;
TabSheet5: TTabSheet;
DBGrid5: TDBGrid;
Query2: TQuery;
DataSource6: TDataSource;
TabSheet6: TTabSheet;
DBGrid6: TDBGrid;
Query3: TQuery;
DataSource7: TDataSource;
TabSheet7: TTabSheet;
DBGrid7: TDBGrid;
TabSheet8: TTabSheet;
Query4: TQuery;
DataSource8: TDataSource;
DBGrid8: TDBGrid;
Query5: TQuery;
DataSource9: TDataSource;
DBGrid9: TDBGrid;
TabSheet9: TTabSheet;
TabSheet11: TTabSheet;
Query6: TQuery;
DataSource10: TDataSource;
DBGrid10: TDBGrid;
Query7: TQuery;
DataSource11: TDataSource;
DBGrid11: TDBGrid;
TabSheet10: TTabSheet;
Query8: TQuery;
DataSource12: TDataSource;
DBGrid12: TDBGrid;
Query9: TQuery;
DataSource13: TDataSource;
DBGrid13: TDBGrid;
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Memo4: TMemo;
Memo5: TMemo;
Memo6: TMemo;
Button3: TButton;
Memo7: TMemo;
Button4: TButton;
Memo8: TMemo;
N6: TMenuItem;
N7: TMenuItem;
Memo9: TMemo;
Memo10: TMemo;
Memo11: TMemo;
Memo12: TMemo;
Panel1: TPanel;
Memo13: TMemo;
Panel2: TPanel;
Label7: TLabel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Panel3: TPanel;
Label9: TLabel;
ComboBox1: TComboBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
ComboBox2: TComboBox;
Memo14: TMemo;
GroupBox9: TGroupBox;
Panel4: TPanel;
Label1: TLabel;
Memo15: TMemo;
ComboBox3: TComboBox;
Panel5: TPanel;
Label2: TLabel;
Memo16: TMemo;
GroupBox10: TGroupBox;
ComboBox4: TComboBox;
DBNavigator5: TDBNavigator;
DBNavigator6: TDBNavigator;
DBNavigator7: TDBNavigator;
DBNavigator8: TDBNavigator;
DBNavigator9: TDBNavigator;
DBNavigator10: TDBNavigator;
DBNavigator11: TDBNavigator;
DBNavigator12: TDBNavigator;
DBNavigator13: TDBNavigator;
DBNavigator14: TDBNavigator;
DBNavigator15: TDBNavigator;
DBNavigator16: TDBNavigator;
DBNavigator17: TDBNavigator;
N8: TMenuItem;
procedure N2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure Table1BeforePost(DataSet: TDataSet);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
uses Unit1, Unit3, Unit4, Unit2, Unit5;
{$R *.dfm}
procedure TForm10.N2Click(Sender: TObject);
begin
Form10.Close;
Form2.Close;
Form5.Close;
end;
procedure TForm10.Button1Click(Sender: TObject);
begin
if ((Form5.Login.Text='USER') and (Form5.Parol.Text='user'))
then
begin
Form10.Caption:='Главная форма: вы в режиме просмотра';
Form10.DBNavigator1.Visible:=false;
Form10.DBNavigator5.Visible:=true;
Form10.DBNavigator2.Visible:=false;
Form10.DBNavigator6.Visible:=true;
Form10.DBNavigator3.Visible:=false;
Form10.DBNavigator7.Visible:=true;
Form10.DBNavigator4.Visible:=false;
Form10.DBNavigator8.Visible:=true;
end;
if ((Form5.Login.Text='ADMIN') and (Form5.Parol.Text='admin'))