Розробка програмного забезпечення розрахунку прибутку перукарні

Загальна характеристика інформаційної підтримки перукарні. Розгляд основ створення програмної системи для розрахунку прибутку. Опис табличного та графічного вигляду запитів та звітів. Використання мови програмування 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.