Файл: Разработка автоматизированного рабочего места библиотекаря (на примере Университета Синергия).docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 596
Скачиваний: 28
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ПРИЛОЖЕНИЕ
Файл Form_booka.pas
unit Form__book;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Grids,
Vcl.DBGrids;
type
TForm_book = class(TForm)
DBGrid_book: TDBGrid;
Button_delete: TButton;
Button_update: TButton;
GroupBox1: TGroupBox;
Edit_shifr: TEdit;
Edit_name: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit_year: TEdit;
Edit_kolvo: TEdit;
DBGrid_type: TDBGrid;
DBGrid_izd: TDBGrid;
DBGrid_janr: TDBGrid;
DBGrid_add_janr: TDBGrid;
Button1: TButton;
Button2: TButton;
Label_id: TLabel;
Button3: TButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
procedure add_janr;
procedure clear_label;
procedure add_book;
procedure view_dbgrid_janr;
procedure view_book;
procedure view_dbgrid;
procedure view_add_janr;
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button_updateClick(Sender: TObject);
procedure Button_deleteClick(Sender: TObject);
procedure Edit_yearKeyPress(Sender: TObject; var Key: Char);
procedure Edit_kolvoKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_book: TForm_book;
implementation
{$R *.dfm}
uses DataModule;
procedure TForm_book.FormCreate(Sender: TObject);
begin
clear_label;
end;
procedure TForm_book.Button1Click(Sender: TObject);
var buf_Zapros : string;
begin
if form_book.Label_id.Caption = '-1' then
begin
add_book;
end
else
add_janr;
end;
procedure TForm_book.Button2Click(Sender: TObject);
var buf_zapros : string;
begin
if form_book.DBGrid_add_janr.DataSource.DataSet.RecordCount <> 0 then
begin
buf_Zapros := 'DELETE FROM janr_book WHERE id_book = '
+form_book.Label_id.Caption
+' AND id_janr = '+form_book.DBGrid_add_janr.DataSource.DataSet.FieldByName('id_janr').AsString
+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
view_add_janr;
end;
end;
procedure TForm_book.Button3Click(Sender: TObject);
var buf_Zapros, buf_kav : string;
run_procedure : boolean;
begin
run_procedure := True;
buf_kav := '''';
clear_label;
if form_book.Edit_name.Text = '' then
begin
run_procedure := False;
form_book.Label5.Caption := 'Не введено название книги';
end;
if form_book.Edit_shifr.Text = '' then
begin
run_procedure := False;
form_book.Label6.Caption := 'Не введен шифр';
end;
if length(form_book.Edit_year.Text) <> 4 then
begin
run_procedure := False;
form_book.Label7.Caption := 'Не верно введен год';
end;
if form_book.Edit_kolvo.Text = '' then
begin
run_procedure := False;
form_book.Label8.Caption := 'Не ввдено кол-во книг';
end;
if form_book.DBGrid_add_janr.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False;
form_book.Label9.Caption := 'Не указан жанр';
end;
if form_book.DBGrid_izd.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False;
form_book.Label10.Caption := 'Не указано издательство';
end;
if form_book.DBGrid_type.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False;
form_book.Label11.Caption := 'Не указан тип книги';
end;
if run_procedure then
begin
buf_Zapros := 'UPDATE book SET type = '+form_book.DBGrid_type.DataSource.DataSet.FieldByName('id_type').AsString+','
+' shifr = '+buf_kav+form_book.Edit_shifr.Text+buf_kav+','
+' name_book = '+buf_kav+form_book.Edit_name.Text+buf_kav+','
+' izdatelstvo = '+form_book.DBGrid_izd.DataSource.DataSet.FieldByName('id_izdatelstvo').AsString+','
+' year_izdanie = '+form_book.Edit_year.Text+','
+' kolvo = '+form_book.Edit_kolvo.Text
+' WHERE nomer_book = '+form_book.Label_id.Caption+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
view_book;
form_book.Label_id.Caption := '-1';
form_book.Edit_shifr.Text := '';
form_book.Edit_name.Text := '';
form_book.Edit_year.Text := '';
form_book.Edit_kolvo.Text := '';
view_add_janr;
end;
end;
procedure TForm_book.Button_deleteClick(Sender: TObject);
var buf_Zapros : string;
begin
if form_book.DBGrid_book.DataSource.DataSet.RecordCount <> 0 then
begin
buf_Zapros := 'DELETE FROM book WHERE nomer_book = '+form_book.DBGrid_book.DataSource.DataSet.FieldByName('код_книги').asstring+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
view_book;
end;
end;
procedure TForm_book.Button_updateClick(Sender: TObject);
begin
if form_book.DBGrid_book.DataSource.DataSet.RecordCount <> 0 then
begin
form_book.Label_id.Caption := form_book.DBGrid_book.DataSource.DataSet.FieldByName('код_книги').AsString;
form_book.Edit_shifr.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Шифр').AsString;
form_book.Edit_name.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Название').AsString;
form_book.Edit_year.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Год_издания').AsString;
form_book.Edit_kolvo.Text := form_book.DBGrid_book.DataSource.DataSet.FieldByName('Кол_во').AsString;
view_add_janr;
end;
end;
procedure TForm_book.add_book;
var buf_Zapros, buf_kav : string;
run_procedure : boolean;
begin
run_procedure := True;
buf_kav := '''';
clear_label;
if form_book.Edit_name.Text = '' then
begin
run_procedure := False;
form_book.Label5.Caption := 'Не введено название книги';
end;
if form_book.DBGrid_janr.DataSource.DataSet.RecordCount = 0 then
begin
run_procedure := False;
form_book.Label12.Caption := 'Не выбран жанр';
end;
if form_book.Edit_shifr.Text = '' then
begin
run_procedure := False;
form_book.Label6.Caption := 'Не введен шифр';
end;
if length(form_book.Edit_year.Text) <> 4 then
begin
run_procedure := False;
form_book.Label7.Caption := 'Не верно введен год';
end;
if form_book.Edit_kolvo.Text = '' then
begin
run_procedure := False;
form_book.Label8.Caption := 'Не ввдено кол-во книг';
end;
//проверка закнчена
if run_procedure then
begin
buf_Zapros := 'INSERT INTO book (name_book) VALUES ('
+buf_kav+form_book.Edit_name.Text+buf_kav
+');';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
//узнаю код книги
buf_zapros := 'Select @@Identity;';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_zapros;
datamodule1.Query_buf.Open;
form_book.Label_id.Caption := datamodule1.Query_buf.Fields[0].AsString;
datamodule1.Query_buf.Close;
add_janr;
end;
end;
procedure TForm_book.add_janr;
var buf_Zapros : string;
add_janr : boolean;
begin
add_janr := True;
//проверячю есть ли жанр уже такой у книги
buf_Zapros := 'SELECT id_janr FROM janr_book WHERE id_janr =' + form_book.DBGrid_janr.DataSource.DataSet.FieldByName('id_janr').AsString
+' AND id_book = '+form_book.Label_id.Caption+';';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.Open;
if datamodule1.Query_buf.RecordCount = 0 then
add_janr := True
else
add_janr := False;
datamodule1.Query_buf.Close;
if add_janr = True then
begin
buf_Zapros := 'INSERT INTO janr_book (id_book, id_janr) VALUES ('
+form_book.Label_id.Caption+','
+form_book.DBGrid_janr.DataSource.DataSet.FieldByName('id_janr').AsString
+');';
datamodule1.Query_buf.Close;
datamodule1.Query_buf.SQL.Text := buf_Zapros;
datamodule1.Query_buf.ExecSQL;
datamodule1.Query_buf.Close;
view_add_janr;
end;
end;
procedure TForm_book.clear_label;
begin
form_book.Label5.Caption := '';
form_book.Label6.Caption := '';
form_book.Label7.Caption := '';
form_book.Label8.Caption := '';
form_book.Label9.Caption := '';
form_book.Label10.Caption := '';
form_book.Label11.Caption := '';
form_book.Label12.Caption := '';
end;
procedure TForm_book.Edit_kolvoKeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9',#8] then
else key :=#0
end;
procedure TForm_book.Edit_yearKeyPress(Sender: TObject; var Key: Char);
begin
if Key in ['0'..'9',#8] then
else key :=#0
end;
procedure TForm_book.FormShow(Sender: TObject);
begin
view_book;
view_add_janr;
end;
procedure TForm_book.view_book;
var buf_zapros : string;
begin
buf_Zapros :='SELECT book.nomer_book AS код_книги, book.shifr AS Шифр, book.name_book AS Название,'
+' type_book.name_type AS Тип_книги, izdatelstvo.name_izdatelstvo AS Издательство, book.year_izdanie AS Год_издания, book.kolvo AS Кол_во '
+' FROM type_book RIGHT JOIN (izdatelstvo RIGHT JOIN book ON izdatelstvo.id_izdatelstvo = book.izdatelstvo) ON type_book.id_type = book.type'
+' ORDER BY book.name_book;';
datamodule1.Query_book.Close;
datamodule1.Query_book.sql.text := buf_Zapros;
datamodule1.Query_book.open;
view_dbgrid;
end;
procedure TForm_book.view_dbgrid;
begin
form_book.DBGrid_book.Columns[0].Width := 100;
form_book.DBGrid_book.Columns[1].Width := 100;
form_book.DBGrid_book.Columns[2].Width := 350;
form_book.DBGrid_book.Columns[3].Width := 150;
form_book.DBGrid_book.Columns[4].Width := 120;
form_book.DBGrid_book.Columns[5].Width := 120;
form_book.DBGrid_book.Columns[6].Width := 70;
end;
procedure TForm_book.view_add_janr;
var buf_Zapros : string;
begin
buf_zapros := 'SELECT janr.id_janr, janr.name_janr AS Жанр '
+' FROM janr INNER JOIN janr_book ON janr.id_janr = janr_book.id_janr '
+' WHERE janr_book.id_book = '+form_book.Label_id.Caption
+' ORDER BY janr.name_janr;';
datamodule1.Query_add_janr.close;
datamodule1.Query_add_janr.sql.text := buf_Zapros;
datamodule1.Query_add_janr.open;
view_dbgrid_janr;
end;
procedure TForm_book.view_dbgrid_janr;
var buf_Zapros : string;
begin
form_book.DBGrid_add_janr.Columns[0].Visible := False;
form_book.DBGrid_add_janr.Columns[1].Width := 350;
end;
end.
Выпускная квалификационная работа – бакалаврская работа выполнена мной совершенно самостоятельно. Все использованные в работе материалы и концепции из опубликованной научной литературы и других источников имеют ссылки на них. Выпускная квалификационная работа – бакалаврская работа прошла проверку на корректность заимствования в системе «Антиплагиат».
Настоящим подтверждаю, что даю разрешение Университету «Синергия» на размещение полного текста моей выпускной квалификационной работы – бакалаврской работы, отзыва на мою выпускную квалификационную работу, рецензии (при наличии) в электронно-библиотечной системе Университета «Синергия».
_ _ / МОХАМЕД ИСМАИЛ АБДРАББА ИСМАИЛ. /
Подпись (Ф.И.О.)
«_25_» ______05______ 2023г.