Реферат по предмету "Информатика, программирование"


Телефонная компания

КУРСОВОЕ ПРОЕКТИРОВАНИЕ ПОБАЗАМ ДАННЫХ
ТЕМА: «Телефоннаякомпания»
Одесса 2010

Аннотация
Объектом исследования является развитие навыков проектированияинформационных систем и закрепление знаний, полученных за время изучениядисциплины «Базы данных».
Цель работы – разработка и создание базы данных для предметнойобласти Аварийная служба.
Метод исследования – изучение видов деятельности в служба рекламы,составление и отладка программы, для работы с базой данных (программа написанана языке С++).
 

Содержание
 
Введение
1. Анализ предметной области
1.1Рабочие цели системы
1.2 Этапы проектирования БД
1.3Концептуальная модель
2.Преобразование модели ER в реляционную модель
3.Запросы к базе данных системы
4. Описание групп пользователей ИС
5.Текст программы
Заключение
Список литературы
 

Введение
 
Цель работы: является развитие навыков проектированияинформационных систем и закрепление знаний, полученных за время изучениядисциплины «Базы данных».
Задание: предметная область «Реклама в коммерческомиздании». Возможные виды деятельности: учет клиентов с возможнымильготами; учет совершенных ими заказов по различным направлениям; расчетстоимости заказа с учетом типа, даты продолжительности; оплата клиентами услуг.
 

1. Анализ предметной области
1.1 Рабочие цели системы
 
Согласно заданию, программный продуктдолжен фиксировать такие данные как:
— клиентов с возможными льготами;
— заказ клиентов по различным типам;
— стоимость заказа с учетом типа, даты и продолжительности;
— оплата клиентом услуг.
В связи с этим были сформированы следующиетаблицы в базе данных:
Клиенты;
Услуги;
Звонки;
Льготы.
А также таблицы, связывающие данныетаблицы.
Так же ПП должен выполнять следующиефункции:
Вывод списка услуг клиента;
Вывод списка заказов клиента;
Вывод списка клиентов по первым буквам;
Вывод списка заказовза данный промежуток;
Вывод списка заказов вданный промежуток;
Вывод количества клиентов с данным типом услуги;
Вывод количестванеоплаченых счетов;
Вывод количества клиентов по услугам;
Вывод количества клиентов по льготам;
Вывод клиента снаибольшим долгом;
Для каждой льготы определитьклиента с наименьшим сроком льготы;
Для каждой услугиопределить а клиента с наименьшим срокомуслуги;
Вывод клиентов, не имеющих льгот;
Вывод клиентов, не имеющих услуг;
Вывод состояний счетов;
Вывод состояний сроковуслуг;
Обновить наличие долга;
Обновить отсутствие долга.
1.2 Этапы проектирования БД
После анализа предметной области былисформированы ранее перечисленные таблицы.
В таблице «Клиент» был выбранпервичный ключ «Идентификатор клиента», т.к. данного ключа достаточнодля уникального определения каждого клиента, поскольку данные характеризующиеклиента не могут повториться дважды.
В таблице «Услуги» и «Льготы»были также выбраны первичные ключи «Идентификатор», т.к. данных полейдостаточно для уникального определения данных в таблицах.
При выборе данных таблиц и их связующихтаблиц, поля были выбраны с учетом нормализации отношений, т.е. таблицы несодержат избыточное количество повторяющихся данных и не могут привести кразличным родам аномалий.

1.3 Концептуальная модель
/>

2. Преобразование модели ER вреляционную модельКлиент Поле Описание Тип Данных Комментарий
id_klient Идентификационный код клиента Счетчик Необходим для уникального определения клиента surname Фамилия клиента Текстовый Данные о фамилии клиента ab_name Имя клиента Текстовый Данные об имени клиента Num Номер телефона Числовой Данные о номера телефона клиента bill Состояние счета клиента Денежный Текущее состояние счета клиента More Info Информация о наличие или отсутствии долга Текстовый Дополнительные данные о состоянии счета Реклама Поле Описание Тип Данных Комментарий
id_call Идентификационный код рекламы Счетчик Необходим для уникального определения рекламы id_klient Идентификационный код клиента Числовой Необходим для определения клиента Data Дата рекламы Дата/время Определение даты рекламы time_beg Время начала звонка Дата/время Определение времени начала рекламы time_and Время окончания звонка Дата/время Определение времени окончания рекламы id_type Код типа рекламы Числовой Определение типа рекламы Льгота Поле Описание Тип Данных Комментарий
Id_lgot Идентификационный код льготы Счетчик Необходим для уникального определения льготы Opisanie Данные о льготе Текстовый Описание льготы Stoimost Процент от стоимости звонка Числовой Процент от стоимости рекламы Услуга Поле Описание Тип Данных Комментарий
Id_service Идентификационный код услуги Счетчик Необходим для уникального определения услуги Opisanie Данные об услуге Текстовый Описание услуги Stoimost Процент от стоимости звонка Числовой Процент от стоимости звонка
Направление Поле Описание Тип Данных Комментарий
Id_type Идентификационный код типа Счетчик Необходим для уникального определения типа Opisanie Данные о типе Текстовый Описание типа Stoimost Процент от стоимости рекламы Числовой Процент от стоимости рекламы Оплата Поле Описание Тип Данных Комментарий
id_oplata Идентификационный код оплаты Счетчик Необходим для уникального определения оплаты Data Дата оплаты Дата/время Данные о дате внесения оплаты Summ Внесенная сумма Денежный Данные о внесенной сумме id_ klient Идентификационный код клиента Числовой Определение клиента, выполнившего оплату Клиент-льгота Поле Описание Тип Данных Комментарий
id_lg_ab Идентификационный код клиент-льготы Счетчик Необходим для уникального определения клиент-льготы Data Дата присвоения льготы Дата/время Данные о дате присвоения льготы Srok Дата завершения льготы Дата/время Данные о дате завершения льготы id_lgot Идентификационный код льготы Числовой Определение присвоенной льготы id_klient Идентификационный код клиента Числовой Определение клиента Клиент-услуга Поле Описание Тип Данных Комментарий
id_ys_ab Идентификационный код клиент-услугы Счетчик Необходим для уникального определения клиент-услугы Data Дата присвоения услуги Дата/время Данные о дате присвоения услуги Srok Дата завершения услуги Дата/время Данные о дате завершения услуги id_lgot Идентификационный код услуги Числовой Определение присвоенной услуги id_klient Идентификационный код клиента Числовой Определение клиента

3. Запросы к базе данных системы
Вывод списка услугклиента
SELECTA.id_service, A.opisanie, C.surname FROM services AS A, ys_ab AS B, Klient AS CWHERE A.id_service=B.id_service and B.id_klient=C.id_klient and C.surname=(Фамилия_Пользователя)
Вывод списка звонков клиента
SELECTA.id_call, A.data, A.time_beg, A.time_and, C.opisanie, B.surname FROM Call ASA, Klient AS B, Napravlenie AS C WHERE A.id_klient=B.id_klient AndA.id_napravlenie=C.id_napravlenie And B.surname=(Фамилия_Пользователя)
Вывод списка клиентовпо первым буквам
SELECT *FROM Klient WHERE surname like Первые_буквы%
Вывод списка клиентовпо первым цифрам
SELECT * FROMKlient WHERE num like Первые_цифры%
Вывод списка звонковза данный промежуток
SELECT *FROM call WHERE data Between Начальная_Дата and Конечная_Дата
Вывод списка услуг вданный промежуток
SELECTA.Data, A.Srok, B.Surname FROM ys_ab AS A, Klient AS B WHEREA.id_klient=B.id_klient and A.Data between Начальная_Датаand Конечная_Дата
Вывод количестваклиентов с данной услугой
SELECTCount(*) FROM services WHERE services.id_service=Идентификато_услуги
Вывод количестваотрицательных счетов
SELECT count(*) FROM Klient WHERE bill
Вывод количестваклиентов по услугам
SELECTA.id_service, B.opisanie, Count(*) FROM ys_ab AS A, services AS B WHEREA.id_service=B.id_service GROUP BY A.id_service, B.opisanie;
Вывод количества клиентов по льготам
SELECTA.id_lgot, B.opisanie, Count(*)FROM lg_ab AS A, lgot AS B WHEREA.id_lgot=B.id_lgot GROUP BY A.id_lgot, B.opisanie;
Вывод клиента с наибольшим долгом
SELECT *FROM klient AS A WHERE bill
Вывод клиентов, имеющих услуги
SELECT *FROM klient AS A WHERE A.id_klient =ANY (select B.id_klient from ys_ab AS B);
Для каждой льготыопределить клиента с наименьшим сроком льготы
SELECTA.opisanie, B.surname, B.ab_name FROM lgot AS A, klient AS B, lg_ab AS C WHEREA.id_lgot=C.id_lgot AND B.id_klient=c.id_klient AND C.srok
Для каждой услугиопределить клиента с наименьшим сроком услуги
SELECTA.opisanie, B.surname, B.ab_name FROM services AS A, klient AS B, ys_ab AS CWHERE A.id_service=C.id_service AND B.id_klient=c.id_klient AND C.srok
Вывод клиентов, не имеющих льгот
SELECTA.surname FROM Klient AS A WHERE A.id_klient not IN (select id_klient fromlg_ab);
Вывод клиентов, не имеющих услуг
SELECTA.surname FROM Klient AS A WHERE A.id_klient not IN (select id_klient fromys_ab);
Вывод состояний счетов
SELECTid_klient,surname,ab_name,'norm' from Klient where bill>0 UNION SELECTid_klient,surname,ab_name,'minus' from Klient where bill
Вывод состояний сроков услуг
SELECT*,Srok-Now() FROM ys_ab where (Srok-Now())>0 union SELECT *,Srok-Now() FROMys_ab where (Srok-Now())
Обновить наличие долга
updateklient set [More info]='imeet dolg' where id_klient in (select id_klient fromklient where bill
Обновить отсутствие долга
update klient set [Moreinfo]='ne imeet dolg' where id_klient in (select id_klient from klient wherebill>0);

4. Описание групп пользователей ИС
В данной области были выделены две группыпользователей.
Первая группа – менеджер-оператор:
— возможность просмотра таблиц «Клиенты»,«Рекламы», «Льготы-Клиенты», «Услуги-Клиенты», «Оплаты».
— возможность выполнения всехперечисленных в анализе требований действий.
— возможность внесения оплаты.
Вторая группа – администратор:
— возможность просмотра таблиц «Клиенты»,«Услуги», «Льготы-Клиенты», «Услуги-Клиенты», «Оплаты».
— возможность выполнения всехперечисленных в анализе требований действий.
— возможность внесения оплаты.
— возможность просмотра журнала событий,произошедших в системе.
— возможность изменения всех таблиц (кромежурнала событий):
-редактирование записей.
-добавление записей.
— удаление записей.
— возможность создания нового пользователя.
Интерфейс ИС
Программный продукт содержитодно окно, которое в зависимости от выполняемых действий преобразуется подвыполняемое действие
1.  Первоначальное окно программы:

/>
2.  Окно программы, которое видитменеджер-оператор после ввода своего логина и пароля:
/>
3.  Окно программы, которое видитменеджер-оператор после нажатия кнопки «Таблицы»:
/>

Окно программы, котороевидит менеджер-оператор после нажатия кнопки «Функции»:
/>
4.  Окно программы, которое видитменеджер-оператор после нажатия кнопки «Оплата»:
/>
При этом, пользовательвводит номер в поле ввода номера и автоматически вписывается фамилия в полефамилии, которою в последствии пользователь должен согласовать с клиентом.
5.  Окно программы, которое видитменеджер-оператор после выбора пункта в меню «Таблицы»:

/>
6.  Окно программы, которое видитменеджер-оператор после выбора пункта в меню «Функции»:
/>
7.  Окно программы, которое видитадминистратор после ввода своего логина и пароля:
/>
8.  Окно программы, которое видитадминистратор после нажатия кнопки «Изменить Клиент-Льгота»:

/>
9.  Окно программы, которое видитадминистратор после нажатия кнопки «Добавить запись»:
/>
10.     Окно программы,которое видит администратор после нажатия кнопки «Добавить льготу»:
/>
11.     Окно программы,которое видит администратор после нажатия кнопки «Изменить Клиент-Услуга»:

/>
12.     Окно программы,которое видит администратор после нажатия кнопки «Добавить запись»:
/>
13.     Окно программы,которое видит администратор после нажатия кнопки «Добавить услугу»:
/>
Сообщения программы,причины, их вызывающие, и реакция пользователя на сообщения
ü Сообщение о неверном именипользователя или пароля.
При возникновении даннойошибки пользователю выводится сообщение о возникновении данной ситуации,очищается поле пароля и система ждет повторного ввода.
ü Сообщение о неверном внесении оплаты.
При возникновении даннойошибки пользователю выводится сообщение о возникновении данной ситуации,очищаются все поля ввода. Требуется ввести верные данные.
ü Сообщение о неверном внесении новогопользователя.
При возникновении даннойошибки пользователю выводится сообщение о возникновении данной ситуации,очищаются все поля ввода. Требуется ввести верные данные.

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();
intchoise=this->listBox1->SelectedIndex;
if(choise==0)
{
String^q=«Select * from Klient;»;
System::Data::OleDb::OleDbCommand^cmd=gcnewSystem::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)
{
doublesumm_ins=Convert::ToDouble(this->textBox8->Text);
doublesumm;
intchosen_id;
q=«Select* from klient»;
cmd=gcnewSystem::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=«updateklient set bill ='»+Convert::ToString(summ)+"' whereid_klient="+chosen_id+";";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
q=«INSERTINTO Oplata ( Data, summ, id_klient )values(Date(),'»+Convert::ToString(summ_ins)+"','"+chosen_id+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
}
}
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Внесение суммы"+Convert::ToString(summ_ins)+" на счет клиента с ID "+chosen_id+"');";
cmd=gcnewSystem::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 SETData='»+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=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Изменение записи в таблице клиент-льгота с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==4)
{
String^q=«update ys_ab SETData='»+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=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Изменение записи в таблице клиент-услуга с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::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 whereid_lg_ab=»+Convert::ToInt32(this->textBox9->Text);
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Удаление записи в таблице клиент-льгота с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==2)
{
String^q=«delete from lgot whereid_lgot=»+Convert::ToInt32(this->textBox9->Text);
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Удаление записи в таблице льгота с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==3)
{
String^q=«delete from Klient whereid_klient=»+Convert::ToInt32(this->textBox9->Text);
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Удаление записи в таблице Клиент с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==4)
{
String^q=«delete from ys_ab whereid_ys_ab=»+Convert::ToInt32(this->textBox9->Text);
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Удаление записи в таблице клиент-услуга с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==5)
{
String^q=«delete from services whereid_service=»+Convert::ToInt32(this->textBox9->Text);
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Удаление записи в таблице услуга с ID"+Convert::ToInt32(this->textBox9->Text)+"');";
cmd=gcnewSystem::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=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Добавление записи в таблицу клиент-льгота');";
cmd=gcnewSystem::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=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Добавление записи в таблицу Льготы');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==3)
{
String^q=«insert into Klient (Surname,ab_name,Num,bill)VALUES('»+this->textBox10->Text+"','"+this->textBox11->Text+"',"+Convert::ToInt32(this->textBox12->Text)+","+Convert::ToDouble(this->textBox13->Text)+")";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Добавление нового клиента');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==4)
{
String^q=«insert into ys_ab (Data,Srok,id_service,id_klient)VALUES('»+this->textBox10->Text+"','"+this->textBox11->Text+"',"+Convert::ToInt32(this->textBox12->Text)+","+Convert::ToInt32(this->textBox13->Text)+")";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Добавление записи в таблицу клиент-услуга');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
if(ChoiseToLV2==5)
{
String^q=«insert into services(Opisanie,Stoimost)VALUES('»+this->textBox10->Text+"',"+Convert::ToInt32(this->textBox11->Text)+")";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
q=«insertinto changes(id_user,data,Opisanie) values(»+id+",Now(),'Добавление записи в таблицу услуги');";
cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
rdr=cmd->ExecuteReader();
rdr->Close();
}
rdr->Close();
cn->Close();
}
//Действия,происходящие при внесении данных в поле ввода номера
private:System::Void comboBox2_TextUpdate(System::Object^ sender, System::EventArgs^ e){
cn->Open();
String^q=«SELECT surname FROM Klient WHERE num like'»+this->comboBox2->Text+"%';";
System::Data::OleDb::OleDbCommand^cmd=gcnewSystem::Data::OleDb::OleDbCommand(q,cn);
System::Data::OleDb::OleDbDataReader^rdr=cmd->ExecuteReader();
while(rdr->Read())
{
this->comboBox1->Text=Convert::ToString(rdr[0]);
}
rdr->Close();
cn->Close();
}

Заключение
 
Данная курсовая работа заключала всебе анализ и создание базы данных для аварийной службы.
Целью курсовой работы является развитиенавыков проектирования информационных систем и закрепление знаний, полученныхза время изучения дисциплины «Базы данных».
Цели и задачи были полностью выполнены.Это означает, что материал по дисциплине «База данных» был полностьюусвоен и принят за основу моему дальнейшему развитию.

Список литературы
 
1.        Дейт, К. Дж. Введение в системыБаз Данных, 7-е издание.: Пер. с англ. Ю.Г. Гордиенко; Под ред. А.В. Слепцова /К. Дж. Дейт — М.: Издательский дом «Вильямс», 2001. – 1072с.
2.        Роб, П., Коронел, К. Системы базданных: проектирование, реализация и управление.- 5-е изд., перераб. и доп./Пер. с англ. А. Никифоров; Под ред. Е. Кондукова / П. Роб, К. Коронел – СПб.:БХВ – Петербург, 2004. – 1040 с.
3.        Вендров, A. M. Проектированиепрограммного обеспечения информационых систем: Учебник / A. M. Вендров. — М.: «Финансыи статистика», 2000. — 352 с.
4.        Калянов, Г. Н. CASE. Структурныйсистемный анализ / Г.Н. Калянов. — М.: Лори, 1996. — 437 с.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.