from pas
where @p=login
delete from pasw
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @ident, @ident1
if(@ident=null)
begin
insert into pasw (identa) values (0)
end
if(@ident<>null)
begin
insert into pasw (identa) values (@ident)
end
DEALLOCATE a_cursor
GO
Процедура поиска для редактирования состава по группам:
CREATE PROCEDURE redsostav @p int AS
select * from k_sostav
where @p=id_gr
GO
Обновление группы:
CREATE PROCEDURE redgryp @g varchar(100), @gg varchar(100) AS
update k_gruppi
set gruppa = @g
where gruppa = @gg
GO
Проверка пороля и логина:
CREATE PROCEDURE logpas @l varchar(25), @p varchar(25) AS
declare @log varchar(25), @pas varchar(25), @id int
set nocount on
DECLARE a_cursor CURSOR FOR
select id_p, login, [password]
from pas
where @l=login and @p=[password]
delete from pasw
OPEN a_cursor
FETCH NEXT FROM a_cursor INTO @id, @l, @p
if(@id=null)
begin
insert into pasw (identa) values (0)
end
if(@id<>null)
begin
insert into pasw (identa) values (@id)
end
DEALLOCATE a_cursor
GO
Добавление стиля:
CREATE PROCEDURE dobst @st varchar(100), @id int AS
set insert into k_style (style, id_zhanr) values (@st, @id)
GO
Добавление жанра:
CREATE PROCEDURE dobzh @zh varchar(100) AS
set insert into k_zhanr (zhanr) values (@zh)
GO
5. Проектирование клиентского интерфейса
5.1 Описание способа подключения
Для проектирования клиентского интерфейса был выбран язык программирования Borland C++ Builder v.6.
Для подключения использовались компоненты ADOConnection, ADOQuery, DataSource, DBNavigator для редактирования, а для просмотра данных в таблицах использовался компонент DBGrid.
5.2 Определение функциональности клиентского приложения
Вводимая, модифицируемая информация будет отображаться виде текстовых полей, либо виде выпадающих списков. Выводимая и отчетная информация – в таблицах.
Для работы клиента используются следующие формы
При старте проекта:
При выборе регистрации пользователя появляется следующее:
После заполнения данного окна оно исчезает. Необходимо сначала ввести все поля, а после вводит пароль и логин. Вернулись к исходному окну (стартовое ), выбираем поиск по песням:
Вводим песню, вызывается хранимая процедура, которая сортирует по похожим на вводимое. Нажимаем кнопку назад, возвращаемся к главной форме.
Аналогично выбираем поиск по группам:
Работает аналогично предыдущему.
Возвращаемся к стартовой форме, идём в меню insert, появляется следующее:
В данном окне необходимо ввести логин и пароль, введённые при регистрации. При проверке и совпадении, в таблице вызовется триггер, который занесёт в журнал, дату, время и логин.
При проверке, если введённые данные не корректны, появится следующее:
При удачном введение:
Возвращаемся к меню insert, появится следующее:
В данном окне можно добавить песню при этом необходимо выбрать группу и диск, при этом вызовется процедура, поиска id песни, которая необходима для корректного ввода. Если данная песня есть, то он не изменится, если нет то к последнему значению прибавиться единица.
Если нет нужной группы, то её можно добавить:
Работа аналогична предыдущей. Выбираем жанр, в результате вызывается процедура, которая выдаёт все стили данного жанра:
Также если нет жанра или стиля, которые необходимы их можно внести:
Выбираем жанр, пишем стиль и добавляем, и ниже, если надо добавляем жанр.
При добавлении участников группы:
При добавлении диска:
Снова возвращаемся в главное меню и выбираем edit:
Сначала группу для редактирования, в случае если она поменяет название и др.
Выбираем группу из списка, ниже заменяем.
При редактировании состава:
Выбираем из списка группу, в таблице появляются все её участники, при необходимости можно модифицировать или удалять.
5.3 Реализация кода и форм в выбранном средстве разработки.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
#include "Unit5.h"
#include "Unit6.h"
#include "Unit7.h"
#include "Unit8.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Word_2K_SRVR"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label3MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
Label3->Font->Color=clRed;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label3MouseLeave(TObject *Sender)
{
Label3->Font->Color=clBlack;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Label3Click(TObject *Sender)
{
ShellExecute(Handle,NULL,"mailto:blacktoxa2005@rambler.ru?subject=Tema",
NULL,NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N7Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
mn=0;
Form8->Show();
Form8->CGauge1->Enabled=true;
Form8->CGauge1->Progress=0;
Form8->Edit1->Text="";
Form8->Edit2->Text="";
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.