49214 (Телефонная компания), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Телефонная компания", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49214"

Текст 2 страницы из документа "49214"

Вывод списка звонков клиента

SELECT A.id_call, A.data, A.time_beg, A.time_and, C.opisanie, B.surname FROM Call AS A, Klient AS B, Napravlenie AS C WHERE A.id_klient=B.id_klient And A.id_napravlenie=C.id_napravlenie And B.surname=(Фамилия_Пользователя)

Вывод списка клиентов по первым буквам

SELECT * FROM Klient WHERE surname like Первые_буквы%

Вывод списка клиентов по первым цифрам

SELECT * FROM Klient WHERE num like Первые_цифры%

Вывод списка звонков за данный промежуток

SELECT * FROM call WHERE data Between Начальная_Дата and Конечная_Дата

Вывод списка услуг в данный промежуток

SELECT A.Data, A.Srok, B.Surname FROM ys_ab AS A, Klient AS B WHERE A.id_klient=B.id_klient and A.Data between Начальная_Дата and Конечная_Дата

Вывод количества клиентов с данной услугой

SELECT Count(*) FROM services WHERE services.id_service=Идентификато_услуги

Вывод количества отрицательных счетов

SELECT count(*) FROM Klient WHERE bill<0;

Вывод количества клиентов по услугам

SELECT A.id_service, B.opisanie, Count(*) FROM ys_ab AS A, services AS B WHERE A.id_service=B.id_service GROUP BY A.id_service, B.opisanie;

Вывод количества клиентов по льготам

SELECT A.id_lgot, B.opisanie, Count(*)FROM lg_ab AS A, lgot AS B WHERE A.id_lgot=B.id_lgot GROUP BY A.id_lgot, B.opisanie;

Вывод клиента с наибольшим долгом

SELECT * FROM klient AS A WHERE bill<= ALL (select bill from klient );

Вывод клиентов, имеющих услуги

SELECT * FROM klient AS A WHERE A.id_klient =ANY (select B.id_klient from ys_ab AS B);

Для каждой льготы определить клиента с наименьшим сроком льготы

SELECT A.opisanie, B.surname, B.ab_name FROM lgot AS A, klient AS B, lg_ab AS C WHERE A.id_lgot=C.id_lgot AND B.id_klient=c.id_klient AND C.srok<=All (select Srok from lg_ab where lg_ab.id_lgot=A.id_lgot);

Для каждой услуги определить клиента с наименьшим сроком услуги

SELECT A.opisanie, B.surname, B.ab_name FROM services AS A, klient AS B, ys_ab AS C WHERE A.id_service=C.id_service AND B.id_klient=c.id_klient AND C.srok<=All (select Srok from ys_ab where ys_ab.id_service=A.id_service);

Вывод клиентов, не имеющих льгот

SELECT A.surname FROM Klient AS A WHERE A.id_klient not IN (select id_klient from lg_ab);

Вывод клиентов, не имеющих услуг

SELECT A.surname FROM Klient AS A WHERE A.id_klient not IN (select id_klient from ys_ab);

Вывод состояний счетов

SELECT id_klient,surname,ab_name,'norm' from Klient where bill>0 UNION SELECT id_klient,surname,ab_name,'minus' from Klient where bill<0;

Вывод состояний сроков услуг

SELECT *,Srok-Now() FROM ys_ab where (Srok-Now())>0 union SELECT *,Srok-Now() FROM ys_ab where (Srok-Now())<0;

Обновить наличие долга

update klient set [More info]='imeet dolg' where id_klient in (select id_klient from klient where bill<0);

Обновить отсутствие долга

update klient set [More info]='ne imeet dolg' where id_klient in (select id_klient from klient where bill>0);

4. Описание групп пользователей ИС

В данной области были выделены две группы пользователей.

Первая группа – менеджер-оператор:

- возможность просмотра таблиц "Клиенты", "Рекламы", "Льготы-Клиенты", "Услуги-Клиенты", "Оплаты".

- возможность выполнения всех перечисленных в анализе требований действий.

- возможность внесения оплаты.

Вторая группа – администратор:

- возможность просмотра таблиц "Клиенты", "Услуги", "Льготы-Клиенты", "Услуги-Клиенты", "Оплаты".

- возможность выполнения всех перечисленных в анализе требований действий.

- возможность внесения оплаты.

- возможность просмотра журнала событий, произошедших в системе.

- возможность изменения всех таблиц (кроме журнала событий):

-редактирование записей.

-добавление записей.

- удаление записей.

- возможность создания нового пользователя.

Интерфейс ИС

Программный продукт содержит одно окно, которое в зависимости от выполняемых действий преобразуется под выполняемое действие

  1. Первоначальное окно программы:

  1. Окно программы, которое видит менеджер-оператор после ввода своего логина и пароля:

  1. Окно программы, которое видит менеджер-оператор после нажатия кнопки "Таблицы":

Окно программы, которое видит менеджер-оператор после нажатия кнопки "Функции":

  1. Окно программы, которое видит менеджер-оператор после нажатия кнопки "Оплата":

При этом, пользователь вводит номер в поле ввода номера и автоматически вписывается фамилия в поле фамилии, которою в последствии пользователь должен согласовать с клиентом.

  1. Окно программы, которое видит менеджер-оператор после выбора пункта в меню "Таблицы":

  1. Окно программы, которое видит менеджер-оператор после выбора пункта в меню "Функции":

  1. Окно программы, которое видит администратор после ввода своего логина и пароля:

  1. Окно программы, которое видит администратор после нажатия кнопки "Изменить Клиент-Льгота":

  1. Окно программы, которое видит администратор после нажатия кнопки "Добавить запись":

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

  1. Окно программы, которое видит администратор после нажатия кнопки "Изменить Клиент-Услуга":

  1. Окно программы, которое видит администратор после нажатия кнопки "Добавить запись":

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

Сообщения программы, причины, их вызывающие, и реакция пользователя на сообщения

  • Сообщение о неверном имени пользователя или пароля.

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

  • Сообщение о неверном внесении оплаты.

При возникновении данной ошибки пользователю выводится сообщение о возникновении данной ситуации, очищаются все поля ввода. Требуется ввести верные данные.

  • Сообщение о неверном внесении нового пользователя.

При возникновении данной ошибки пользователю выводится сообщение о возникновении данной ситуации, очищаются все поля ввода. Требуется ввести верные данные.

5. Тексты программы

#pragma once

int zap=0;//переменная для определения текущего запроса

int id=0;//переменная для определения текущего пользователя в системе

int level=0;//переменная для определения выдаваемых функций пользователю

int op_new=-1;//переменная для определения действий кнопки "добавить"

int ChoiseToLV2=0;//переменная, определяющая выводимую и вводимую информацию в функциях.

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

private: System::Void listBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) {

this->listView1->Visible=true;

this->ClientSize = System::Drawing::Size(960, 580);

this->listView1->Items->Clear();

cn->Open();

int choise=this->listBox1->SelectedIndex;

if(choise==0)

{

String ^q="Select * from Klient;";

System::Data::OleDb::OleDbCommand^cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

System::Data::OleDb::OleDbDataReader ^rdr=cmd->ExecuteReader();

int k=0;

while(rdr->Read())

{

this->columnHeader1->Text=L"ид";

this->listView1->Items->Add(Convert::ToString(rdr[0]));

this->columnHeader2->Text=L"Фамилия";

this->listView1->Items[k]->SubItems->Add(Convert::ToString(rdr[1]));

this->columnHeader3->Text=L"Имя";

this->listView1->Items[k]->SubItems->Add(Convert::ToString(rdr[2]));

this->columnHeader4->Text=L"Номер";

this->listView1->Items[k]->SubItems->Add(Convert::ToString(rdr[3]));

this->columnHeader5->Text=L"Счет";

this->listView1->Items[k]->SubItems->Add(Convert::ToString(rdr[4]));

this->columnHeader6->Text=L"Доп.инф.";

this->listView1->Items[k]->SubItems->Add(Convert::ToString(rdr[5]));

this->columnHeader7->Text=L"";

k++;

}

rdr->Close();

cn->Close();}}

//действия при нажатии на кнопку "Внести" в меню "Оплата".

private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) {

String ^q;

System::Data::OleDb::OleDbCommand ^cmd;

System::Data::OleDb::OleDbDataReader ^rdr;

cn->Open();

if(op_new==1)

{

double summ_ins=Convert::ToDouble(this->textBox8->Text);

double summ;

int chosen_id;

q="Select * from klient";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

while(rdr->Read())

{

if(Convert::ToString(rdr[1])==this->comboBox1->Text && Convert::ToInt32(rdr[3])==Convert::ToInt32(this->comboBox2->Text))

{

chosen_id=Convert::ToInt32(rdr[0]);

summ=summ_ins+Convert::ToDouble(rdr[4]);

q="update klient set bill ='"+Convert::ToString(summ)+"' where id_klient="+chosen_id+";";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

q="INSERT INTO Oplata ( Data, summ, id_klient )values (Date(),'"+Convert::ToString(summ_ins)+"','"+chosen_id+"'); ";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

}

}

rdr->Close();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Внесение суммы "+Convert::ToString(summ_ins)+" на счет клиента с ID "+chosen_id+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

}

//действия при нажатии на кнопку "Изменить"

private: System::Void button13_Click(System::Object^ sender, System::EventArgs^ e) {

cn->Open();

if(ChoiseToLV2==1)

{

String ^q="update lg_ab SET Data='"+this->textBox10->Text+"',Srok='"+this->textBox11->Text+"',id_lgot="+Convert::ToInt32(this->textBox12->Text)+",id_klient="+Convert::ToInt32(this->textBox13->Text)+" where id_lg_ab="+Convert::ToInt32(this->textBox9->Text);

System::Data::OleDb::OleDbCommand ^cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

System::Data::OleDb::OleDbDataReader ^rdr=cmd->ExecuteReader();

rdr->Close();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Изменение записи в таблице клиент-льгота с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==4)

{

String ^q="update ys_ab SET Data='"+this->textBox10->Text+"',Srok='"+this->textBox11->Text+"',id_service="+Convert::ToInt32(this->textBox12->Text)+",id_klient="+Convert::ToInt32(this->textBox13->Text)+" where id_ys_ab="+Convert::ToInt32(this->textBox9->Text);

System::Data::OleDb::OleDbCommand ^cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

System::Data::OleDb::OleDbDataReader ^rdr=cmd->ExecuteReader();

rdr->Close();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Изменение записи в таблице клиент-услуга с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

cn->Close();

}

//действия при нажатии на кнопку "Удалить"

private: System::Void button14_Click(System::Object^ sender, System::EventArgs^ e) {

cn->Open();

System::Data::OleDb::OleDbCommand ^cmd;

System::Data::OleDb::OleDbDataReader ^rdr;

if(ChoiseToLV2==1)

{

String ^q="delete from lg_ab where id_lg_ab="+Convert::ToInt32(this->textBox9->Text);

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Удаление записи в таблице клиент-льгота с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==2)

{

String ^q="delete from lgot where id_lgot="+Convert::ToInt32(this->textBox9->Text);

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Удаление записи в таблице льгота с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==3)

{

String ^q="delete from Klient where id_klient="+Convert::ToInt32(this->textBox9->Text);

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Удаление записи в таблице Клиент с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==4)

{

String ^q="delete from ys_ab where id_ys_ab="+Convert::ToInt32(this->textBox9->Text);

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Удаление записи в таблице клиент-услуга с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==5)

{

String ^q="delete from services where id_service="+Convert::ToInt32(this->textBox9->Text);

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Удаление записи в таблице услуга с ID "+Convert::ToInt32(this->textBox9->Text)+"');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

rdr->Close();

cn->Close();

}

//Действия при нажатии на кнопку "Добавить"

private: System::Void button16_Click(System::Object^ sender, System::EventArgs^ e) {

cn->Open();

System::Data::OleDb::OleDbCommand ^cmd;

System::Data::OleDb::OleDbDataReader ^rdr;

if(ChoiseToLV2==1)

{

String ^q="insert into lg_ab (Data,Srok,id_lgot,id_klient) VALUES('"+this->textBox10->Text+"','"+this->textBox11->Text+"',"+Convert::ToInt32(this->textBox12->Text)+","+Convert::ToInt32(this->textBox13->Text)+")";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

q="insert into changes(id_user,data,Opisanie) values("+id+",Now(),'Добавление записи в таблицу клиент-льгота');";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

rdr->Close();

}

if(ChoiseToLV2==2)

{

String ^q="insert into Lgot (Opisanie,Stoimost)VALUES('"+this->textBox10->Text+"',"+Convert::ToInt32(this->textBox11->Text)+")";

cmd=gcnew System::Data::OleDb::OleDbCommand(q,cn);

rdr=cmd->ExecuteReader();

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4121
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее