Розробка програмного забезпечення розрахунку прибутку перукарні
Загальна характеристика інформаційної підтримки перукарні. Розгляд основ створення програмної системи для розрахунку прибутку. Опис табличного та графічного вигляду запитів та звітів. Використання мови програмування Visual С++, Visual С#; СУБД ACCES.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 11.01.2015 |
Размер файла | 3,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Recordset_Baza(str_query);
m_datagrid.SetRefDataSource(pRecordset);
GetDlgItem(IDC_GRAF)->ShowWindow(SW_HIDE);
}
void Dlg::OnDohodSotrPodnyam()
{
CString str_query;
str_query="SELECT Заказы.Datazak, Сотрудники.Fam, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Сотрудники INNER JOIN (Услуги INNER JOIN Заказы ON Услуги.IDy = Заказы.IDy) ON Сотрудники.IDsotr = Заказы.IDsotr GROUP BY Заказы.Datazak, Сотрудники.Fam ORDER BY Заказы.Datazak, Sum(Услуги.Stoimost) DESC";
Recordset_Baza(str_query);
m_datagrid.SetRefDataSource(pRecordset);
GetDlgItem(IDC_GRAF)->ShowWindow(SW_HIDE);
}
void Dlg::OnAllDohodSotr()
{
CString str_query;
str_query="SELECT Сотрудники.Fam, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Услуги INNER JOIN (Сотрудники INNER JOIN Заказы ON Сотрудники.IDsotr = Заказы.IDsotr) ON Услуги.IDy = Заказы.IDy GROUP BY Сотрудники.Fam ORDER BY Sum(Услуги.Stoimost) DESC";
Recordset_Baza(str_query);
m_datagrid.SetRefDataSource(pRecordset);
GetDlgItem(IDC_GRAF)->ShowWindow(SW_SHOW);
}
void Dlg::OnSelchangeTable()
{
CString str;
GetDlgItem(IDC_GRAF)->ShowWindow(SW_HIDE);
m_pol.ResetContent ();
if (m_tab.GetCurSel ()<0)
{MessageBox("Ололо выбери таблицу");
return;
}
m_tab.GetText (m_tab.GetCurSel (),str);
table = str;
table.MakeUpper();
str = "`"+str+"`";
_RecordsetPtr pRec;
pRec = pConn->Execute((_bstr_t)str,0,adCmdTable);
for(long i=0;i<pRec->GetFields()->GetCount();i++)
{
str = (char*)(_bstr_t)pRec->GetFields ()->GetItem (i)->GetName ();
m_pol.AddString (str);
}
pRec->Close();
str = "SELECT * FROM ";
str = str+"`"+table+"`";
m_editquery.SetWindowText(str);
OnZaprosSelect();
GetDlgItem(IDC_STATIC2)->SetWindowText("Работа с таблицей "+table);// TODO: Add your control notification handler code here
}
void Dlg::OnSelchangePolya()
{
// TODO: Add your control notification handler code here
}
void Dlg::OnFirst()
{
if(pRecordset->GetState()==0)return;
if(!pRecordset->GetRecordCount())return;
try
{
pRecordset->MoveFirst();
}
catch(_com_error &ce)
{
Doc->ErrMessage(ce);
}
}
void Dlg::OnLeft()
{
if(pRecordset->GetState()==0)return;
if(!pRecordset->GetRecordCount())return;
try
{
if(!pRecordset->BOF)
{
pRecordset->MovePrevious();
if(pRecordset->BOF)pRecordset->MoveFirst();
}
else pRecordset->MoveFirst();
}
catch(_com_error &ce)
{
Doc->ErrMessage(ce);
}
}
void Dlg::OnRight()
{
if(pRecordset->GetState()==0)return;
if(!pRecordset->GetRecordCount())return;
try
{
if(!pRecordset->ADO_EOF)
{
pRecordset->MoveNext();
if(pRecordset->ADO_EOF)pRecordset->MoveLast();
}
else pRecordset->MoveLast();
}
catch(_com_error &ce)
{
Doc->ErrMessage(ce);
}
}
void Dlg::OnLast()
{
if(pRecordset->GetState()==0)return;
if(!pRecordset->GetRecordCount())return;
try
{
pRecordset->MoveLast();
}
catch(_com_error &ce)
{ Doc->ErrMessage(ce);
}}
void Dlg::Recordset_Baza(CString str)
{
if (pRecordset->GetState())pRecordset->Close();
pRecordset->CursorLocation = adUseClient;
pRecordset->Open ((_bstr_t)str,(IUnknown *)pConn,
adOpenDynamic,adLockOptimistic,adCmdText);
fields = pRecordset->GetFields();
}
void Dlg::Structura_BD()
{
CString str;
_RecordsetPtr pTables("ADODB.Recordset");
pTables = pConn->OpenSchema (ADODB::adSchemaTables);
m_tab.ResetContent();
m_pol.ResetContent ();
while (!pTables->ADO_EOF)
{
str = (char*)(_bstr_t)pTables->GetFields ()->GetItem
((_bstr_t)"TABLE_TYPE")->GetValue ();
if (!str.Compare ("TABLE"))
m_tab.AddString ((_bstr_t)pTables->GetFields ()->GetItem ((_variant_t)"TABLE_NAME")->GetValue ());
pTables->MoveNext ();
}
pTables->Close();
}
void Dlg::Connect_Baza(CString str)
{
if(pRecordset->GetState()) pRecordset->Close();
if(pConn->GetState())pConn->Close();
pConn->Open((_bstr_t)str,"","",0);
}
void Dlg::OnSort()
{
if(pRecordset->GetState()==0)return;
m_datagrid.SetRefDataSource(0);
CString str_query;
m_editquery.GetWindowText(str_query);
struct _timeb timebuffer;
_ftime( &timebuffer );
double nach = timebuffer.time+timebuffer.millitm/1000.0;
try
{
CString vr_zap;
if (((CButton*)GetDlgItem(IDC_Sort))->GetCheck ()==1)
{
pRecordset->PutSort ((_bstr_t)str_query);
_ftime( &timebuffer );
double conec = timebuffer.time+timebuffer.millitm/1000.0;
vr_zap.Format("Сортировка выполнена за %f сек ",conec - nach);
m_datagrid.SetRefDataSource(pRecordset);
MessageBox(vr_zap);
}
else
{
pRecordset->Sort = "";
m_datagrid.SetRefDataSource(pRecordset);
_ftime( &timebuffer );
double conec = timebuffer.time+timebuffer.millitm/1000.0;
vr_zap.Format(" Сортировка снята за %f секунд",conec - nach);
MessageBox(vr_zap);
}// TODO: Add your control notification handler code here
}
catch(_com_error &ce)
{ m_datagrid.SetRefDataSource(pRecordset);
Doc->ErrMessage(ce);
((CButton*)GetDlgItem(IDC_Sort))->SetCheck (0);
m_editquery.SetFocus ();
}
}
Додаток L
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
OleDbConnection dbCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dimabudnik.mdb");
DataTable dataTable ;
OleDbDataAdapter dbAdapter1;
string[] a;
float[] b;
int n;
public Form1()
{
InitializeComponent();
button6.Visible = false;
}
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.Clear();
//подключаемся в БД
dbCon.Open();
//получаем список таблиц
DataTable tbls = dbCon.GetSchema("Tables", new string[] { null, null, null, "TABLE" }); //список всех таблиц
//Пробегаем по списку и добавляем в ЛистБокс
foreach (DataRow row in tbls.Rows)
{
string TableName = row["TABLE_NAME"].ToString();
listBox1.Items.Add(TableName);
}
dbCon.Close();
listBox1.SelectedIndex = 0;
// TODO: данная строка кода позволяет загрузить данные в таблицу "dimabudnikDataSet.Заказы". При необходимости она может быть перемещена или удалена.
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
button6.Visible = false;
//подключаемся в БД
dbCon.Open();
//Делаем запрос к БД
dbAdapter1 = new OleDbDataAdapter(@"SELECT * FROM " + listBox1.SelectedItem, dbCon);
dataTable = new DataTable();
//Заполняем Грид значениями с таблиці
dbAdapter1.Fill(dataTable);
OleDbCommandBuilder bb = new OleDbCommandBuilder(dbAdapter1);
//Создаем новое подлючение для управления
BindingSource bs1 = new BindingSource();
//заполняем дату значениеями с таблицы
bs1.DataSource = dataTable;
//даём навигатору наши значения
bindingNavigator1.BindingSource = bs1;
//заполняем грид
dataGridView1.DataSource = bs1;
//заполняем поля
listBox2.Items.Clear();
foreach (var item in dataTable.Columns)
{
listBox2.Items.Add(item.ToString());
}
dbCon.Close();
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
dbCon.Open();
if (MessageBox.Show("Вы хотите сохранить изменения в базе данных?",
"Сохранение", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes) dbAdapter1.Update(dataTable);
dbCon.Close();
}
private void button1_Click(object sender, EventArgs e)
{
zapros("SELECT Услуги.Tip, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Сотрудники INNER JOIN (Услуги INNER JOIN Заказы ON Услуги.IDy = Заказы.IDy) ON Сотрудники.IDsotr = Заказы.IDsotr GROUP BY Услуги.Tip ORDER BY Услуги.Tip, Sum(Услуги.Stoimost)");
button6.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
zapros("SELECT Заказы.Datazak, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Сотрудники INNER JOIN (Услуги INNER JOIN Заказы ON Услуги.IDy = Заказы.IDy) ON Сотрудники.IDsotr = Заказы.IDsotr GROUP BY Заказы.Datazak ORDER BY Заказы.Datazak");
button6.Visible = false;
}
private void button3_Click(object sender, EventArgs e)
{
button6.Visible = false;
zapros("SELECT Заказы.Datazak, Сотрудники.Fam, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Сотрудники INNER JOIN (Услуги INNER JOIN Заказы ON Услуги.IDy = Заказы.IDy) ON Сотрудники.IDsotr = Заказы.IDsotr GROUP BY Заказы.Datazak, Сотрудники.Fam ORDER BY Заказы.Datazak, Sum(Услуги.Stoimost) DESC");
}
private void button4_Click(object sender, EventArgs e)
{
button6.Visible = true;
zapros("SELECT Сотрудники.Fam, Sum(Услуги.Stoimost) AS [Sum-Stoimost] FROM Услуги INNER JOIN (Сотрудники INNER JOIN Заказы ON Сотрудники.IDsotr = Заказы.IDsotr) ON Услуги.IDy = Заказы.IDy GROUP BY Сотрудники.Fam ORDER BY Sum(Услуги.Stoimost) DESC");
}
private void zapros(string str)
{
dbCon.Open();
//Делаем запрос к БД
dbAdapter1 = new OleDbDataAdapter(@""+str+"", dbCon);
dataTable = new DataTable();
//Заполняем Грид значениями с таблицы
dbAdapter1.Fill(dataTable);
//Создаем новое подлючение для управления
BindingSource bs1 = new BindingSource();
//заполняем дату значениеями с таблицы
bs1.DataSource = dataTable;
//даём навигатору наши значения
bindingNavigator1.BindingSource = bs1;
//заполняем грид
dataGridView1.DataSource = bs1;
dbCon.Close();
}
private void button5_Click(object sender, EventArgs e)
{
zapros(textBox1.Text.ToString());
button6.Visible = false;
}
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
}
private void button6_Click(object sender, EventArgs e)
{
button6.Visible = true;
a = new string[dataGridView1.RowCount];
b = new float[dataGridView1.RowCount];
n = dataGridView1.RowCount+1;
for (int i = 0; i < dataGridView1.RowCount-1; i++)
{
a[i] = dataGridView1[0, i].Value.ToString();
b[i] = float.Parse(dataGridView1[1, i].Value.ToString());
}
Form2 f2 = new Form2();
f2.temp(a, b, n);
f2.Show();
}
}
}
Додаток M
Form2.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
string[] a;
float[] b;
int x = SystemInformation.PrimaryMonitorSize.Width;
int y = SystemInformation.PrimaryMonitorSize.Height;
int k;
Brush[] brsh = { Brushes.Red, Brushes.Blue, Brushes.Aqua, Brushes.Green, Brushes.Yellow, Brushes.Gold, Brushes.AliceBlue, Brushes.AntiqueWhite, Brushes.Aquamarine, Brushes.Azure, Brushes.Beige, Brushes.Bisque, Brushes.BlanchedAlmond, Brushes.BlueViolet, Brushes.Brown, Brushes.BurlyWood, Brushes.CadetBlue, Brushes.Chartreuse, Brushes.Chocolate, Brushes.Coral, Brushes .CornflowerBlue};
Color[] cl = { Color.Red, Color.Blue, Color.Aqua, Color.Green, Color.Yellow, Color.Gold, Color.AliceBlue,
Color.AntiqueWhite, Color.Aquamarine, Color.Azure, Color.Beige, Color.Bisque,
Color.BlanchedAlmond, Color.BlueViolet, Color.Brown, Color.BurlyWood, Color.CadetBlue,
Color.Chartreuse, Color.Chocolate, Color.Coral, Color.CornflowerBlue };
int tol_lin = 1;
public Form2()
{
DoubleBuffered = true;
ResizeRedraw = true;
InitializeComponent();
Size = new Size(x, y);
}
public void temp(string[] name, float[] val, int n)
{
a = name;
b = val;
k = n;
}
private void Form2_Paint(object sender, PaintEventArgs e)
{
float Total = 0.0F;
float f2, f1 = 0.0F;
Random rd = new Random();
Pen pen = new Pen(Color.Black, tol_lin);
Rectangle rect = new Rectangle(tol_lin, tol_lin,
ClientSize.Width/2 * tol_lin, ClientSize.Height - 2 * tol_lin);
foreach (float lval in b)
Total += lval;
int i = 0;
foreach (float lval in b)
{
f2 = 360 * lval / Total;
e.Graphics.FillPie(brsh[i], rect, f1, f2);
e.Graphics.DrawPie(pen, rect, f1, f2);
f1 += f2;
Label l = new Label();
l.AutoSize = true;
l.Font= new Font("Arial", 14, FontStyle.Italic);
l.Location = new Point(5, (i + 1) * 30);
if (k-2 > i)
{
l.Text = a[i] + " = " + b[i].ToString();
l.BackColor = cl[i];
}
groupBox1.Controls.Add(l);
i++;
}
groupBox1.AutoSize = true;
groupBox1.Location = new Point(ClientSize.Width - groupBox1.Width, 0) ;
}
}
}
Размещено на Allbest.ru
Подобные документы
Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.
реферат [29,9 K], добавлен 28.06.2011Розгляд матеріалу з розрахунку рецептур. Аналоги програм та сайтів по розрахунку рецептур, створення алгоритму побудови програми. Оптимізація калькулятору з розрахунку рецептур. Проектування алгоритму та програмного забезпечення для його реалізації.
курсовая работа [52,0 M], добавлен 28.03.2023Дослідження класифікації автоматизованих інформаційних систем. Обґрунтування вибору мови і системи програмування. Програмне забезпечення та опис компонентів середовища. Інтерфейс програмного комплексу. Розрахунок повної собівартості програмного продукту.
дипломная работа [584,1 K], добавлен 26.06.2015Характеристика структури підприємства "ПП Півторак Ю.П.". Реалізація програмного забезпечення для контролю проведення сільськогосподарської діяльності приватного підприємства. Характеристика СУБД Microsoft Acces. Мова програмування Microsoft Visual Basic.
отчет по практике [2,2 M], добавлен 20.01.2014Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.
дипломная работа [730,9 K], добавлен 21.01.2016Створення гнучкої клієнт-серверної системи інформаційної підтримки підвищення кваліфікації персоналу ДП № 9 з застосуванням мови програмування PHP, системи керування базами даних MySQL. Розробка алгоритмів, програмна реалізація основних процедур системи.
дипломная работа [1,8 M], добавлен 26.10.2012Технології об'єктно-орієнтованого аналізу та проектування інформаційних систем. Історія та структура мови UML. Опис функціональної моделі засобами UML. Використання UML в проектуванні програмного забезпечення. Характеристика CASE-засобів Visual Paradigm.
дипломная работа [7,9 M], добавлен 26.05.2012Аналіз навігаційних технологій у сучасних AVL системах. Структура системи і вимоги до апаратного забезпечення, розробка алгоритмів функціонування окремих програмних модулів. Вибір мови програмування і СУБД. Тестовий варіант програмного забезпечення.
дипломная работа [1,8 M], добавлен 17.12.2015Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.
курсовая работа [335,3 K], добавлен 11.01.2015