Sunteți pe pagina 1din 47

MINISTERUL EDUCAŢIEI, CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA

IP CENTRUL DE EXCELENȚĂ IN ECONOMIE ȘI FINANȚE


CATEDRA INFORMATICĂ

RAPORTUL
PRIVIND REZULTATELE STAGIULUI
PRACTICII TEHNOLOGICE

AL ELEVULUI

Gonța Nicolai

Grupa – PAP1613G

Specialitatea: 61310 - Programare și analiza produselor program,

Calificarea: Asistent programator

Conducător de practică: Galina LUNCAȘU, master în științe ale educației,


gr. didactic I

Perioada stagiului de practică:4 săptămâni (20.05.2019 – 04.06.2019 ; 19.06.2019 – 28.06.2019)

Chişinău 2019
Cuprins
RAPORTUL STAGIULUI DE PRACTICĂ....................................................................................3
DESCRIEREA ACTIVITĂȚILOR REALIZATE...........................................................................5
CONȚINUTUL ACTIVITĂȚILOR ȘI SARCINILOR INDIVIDUALE DE LUCRU...................7
1. Descrierea conținutului sarcinii...............................................................................................7
Magazin alimentar...................................................................................................................7
2. Listingul aplicației...................................................................................................................8
Principala.................................................................................................................................8
Form1.....................................................................................................................................10
Form2.....................................................................................................................................12
Form3.....................................................................................................................................15
Despre noi..............................................................................................................................17
Contacte.................................................................................................................................18
Admin....................................................................................................................................19
Proceduri................................................................................................................................30
3. Schema bazei de date:............................................................................................................30
4. Raporte:..................................................................................................................................30
5. Prezentarea programului:.......................................................................................................36
Bibliografie....................................................................................................................................46

2
RAPORTUL STAGIULUI DE PRACTICĂ

Conținutul activităților și sarcinilor de lucru, inclusiv individuale:

Conform sarcinii primite la data de 20.05.2019 am început a elebora tot ce a fost propus, începând
cu crearea designului, am elaborat câteva ferestre principale și câteva tabele pentru a efectua testarea
corectă a introducerii email-ului și parolei. Mai târziu am scris codul și creat formele necesare
pentru a efectua corect sarcina propusă de profesor. Dupa elaborarea precedentelor sarcini am creat
o baza de date mult mai complexă și normalizată. Spre sfârșit am testat programul efctuat pentru a
nu depista erori în caz contrar înlatur-am erorile.

Activitățile desfășurate și produsele elaborate:

Pe parcursul stagiului de practică am elaborate următoarele sarcini:

1. Fereastra de autentificare/înregistrare;
2. Fereastra principală cu butoane către celelalte componente și informații „Despre noi” și
„Contacte”;
3. Fereastra cu categoriile de mărfuri;
4. Ferestre pentru adăugarea datelor (categorii, mărfuri, clienți etc.);
5. Fereastra pentru ștergerea/modificarea datelor existente în BD;
6. Fereastra pentru afișarea datelor după un criteriu.

3
Observații personale:

Pe parcursul stagiului de practică am descoperit mai multe competente ale mele, am descoperit că
programarea este un mod de ați crea o lume aparte în cel mai frumos mod posibil. Am observat că
cu cât mai mult efort depui cu atât programul devine mai complex și usor de înțeles.

Concluzii:

În concluzie pot spune ca stagiul de practică ne oferă o dezvoltare a abilităților și o pregătire amplă.
Având posibilitatea de a sustine stagiul de practică am posibilitatea să observ modul de lucru într-o
echipă, pot beneficia de trăininguri cu diverse tematici, pot acumula experienta și am posibilitatea de
a interacționa cu oameni profesioniști în domeniu. Conform unor sodaje susținute anterior,
persoanele care au susținut și promovat stagiul de practică au mai mult success în viata profesională,
având mai multă experiență. Plus la asta stagiul de practică oferă posibilitați și pentru angajatori,
aceștia având ocazia să cunoască și să evedențieze resurse umane cu adevărat potențial, pe care în
timp să-i perfecționeze conform standartelor proprii și îi pot transforma în angajați permanenți și de
valoare.

4
Data: __________ Semnătură elevului ____________________

DESCRIEREA ACTIVITĂȚILOR REALIZATE


Data Produse de elaborat Conținutul rezumativ al
lucrărilor
Agenda formării profesionale
20.05.2019 completată cu datele personale și sarcina Am primit sarcina individuala.
individuală.
Planul individual de activitate pe
Am elaborate un plan de activitate
21.05.2019 perioada
pe perioada practicii.
practicii.
Am elaborat proiectul aplicatiei
22.05.2019 Proiectul aplicației.
corespunzator sarcinii primate.
Am elaborate meniurile si
23.05.2019 Meniurile aplicației.
interfetele aplicatiei
Am realizat interfetele aplicatiei
24.05.2019 Interfețele aplicației. care serveste pentru o comunicare
mai usora intre sisteme.
Am realizat si dezoltat pe parcursul
27.05.2019 Algoritmul aplicației. parcticii un algorit corespunzator
sarcinii propuse
Concomitent cu realizarea
28.05.2019 Ferestrele aplicației. algoritmului am creat si ferestre
corespunzatore acestuia.
Diagrama Entity-Relationship3 Am creat baza de date
29.05.2019
a bazei de date. corespunzatore sarcinii propuse si
30.05.2019 Baza de date normalizată. am conectato la program.
Scenariu de creare a bazei de date și a Am creat mai intii tabelul Login
31.05.2019 apoi Admini, Comenzi, Produse,
structurii tabelelor. Categorii si Furnizori.
Am realizat stergerea din baza de
Scenariu cu criteriile de integritate a date in asa fel incit sa nu existe
03.05.2019 erori, la fel ca si la adaugre si
bazei de date. update. Iar pentru useri un algorit
usor de adaugare a unei comenzi.
Diagrma bazei de date este
compusa din 6 tabele iar 2 dintre
04.05.2019 Diagrama bazei de date. ele sunt tabele fara legaturi care au
ca scop logarea utilizatorilor si
adminilor.
5
Scenariu de creare a viziunilor bazei de Am realizat pentru fiecare tabel
19.05.2019 actualizare si vizualizarea datelor
date. corespunzatore fiecaruia.
Am creat doar o procedura stocata
Scenariu de creare a procedurilor sub denumirea addUser deoarece
20.06.2019
stocate. crearea unei proceduri in program
este mult mai convenabila.
Am connectat aplicatia chiar la
21.06.2019 Aplicație conectată la baza de date. inceputul crearii primului tabrl,
tabelul Login.
Am creat control-ere de adugare, de
Control-ere programate pentru gestiunea stregere si update pentru utilizatorii
24.06.2019 care se logheaza ca admini iar
datelor. pentru userii obisnuitii de a aduga o
comanda in baza de date.
Am instalat mai intii extensia care
ne permite sa realizam raporte in
25.06.2019 Rapoarte.
Visual Studio 2017 dupa am creat
pentru fiecare table cite un raport.
Am realizat planul care include
citiva admini care au grija ca
26.06.2019 Planul de întreținere a aplicației.
palicatiia sa funcioneaza
corespunzator sis a o actualizeze
Aplicatia este securizata cu o
27.06.2019 Aplicație securizată.
parola si login.
Produsul program finisat. Am finisat programul, raportul
Raportul stagiului de practică. satgiului de practica si agenda
28.06.2019
Raportul (tipărit și în format electronic), formarii profesionale, la fel ca si
agenda formării profesionale, aplicația baza de date normalizata si crata
vizuală și baza de date. fara erori.

CONȚINUTUL ACTIVITĂȚILOR ȘI SARCINILOR INDIVIDUALE DE


LUCRU

1. Descrierea conținutului sarcinii.

Magazin alimentar

Magazin alimentar. Elaborați o aplicație software care gestionează un magazin alimentar (mărfuri,
clienți, vânzări etc.) și oferă informația despre serviciile prestate.
Cerințe pentru aplicație:
6
- Fereastra de autentificare/înregistrare;
- Fereastra principală cu butoane către celelalte componente și informații „Despre noi” și
„Contacte”;
- Fereastra cu categoriile de mărfuri;
- Fereastra cu coșului de cumpărături;
- Ferestre pentru adăugarea datelor (categorii, mărfuri, clienți etc.);
- Fereastra pentru ștergerea/modificarea datelor existente în BD;
- Fereastra pentru afișarea datelor după un criteriu.
Algoritmul aplicației se va realiza după principiile programării vizuale. Informațiile se vor prelucra
la solicitarea utilizatorului folosind meniuri, formulare și controlere.
Afișarea la ecran a informațiilor sau imprimarea acestora se va realiza prin intermediul rapoartelor.

2. Listingul aplicației

Principla
using System;
using System.Collections.Generic;

7
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Magazin_alimentar
{
public partial class Principala : Form
{

public Principala()
{
InitializeComponent();
button5.MouseLeave += OnMouseLeaveButton5;
button5.MouseEnter += OnMouseEnterButton5;
}

private void button2_Click(object sender, EventArgs e)


{
Form3 objForm3 = new Form3();
objForm3.Show();
}

private void button5_Click(object sender, EventArgs e)


{
this.Close();
}

private void Principala_Load(object sender, EventArgs e)


{

private void button1_Click(object sender, EventArgs e)


{
Form1 objForm1 = new Form1();
objForm1.Show();
}

private void button3_Click(object sender, EventArgs e)


{
desprenoi dpn = new desprenoi();
dpn.Show();
}

private void OnMouseEnterButton5(object sender, EventArgs e)


{
button5.BackColor = Color.Red;
button5.ForeColor = Color.White;
}
private void OnMouseLeaveButton5(object sender, EventArgs e)
{
button5.BackColor = SystemColors.ControlLightLight;
button5.ForeColor = Color.Black;
}

8
private void button4_Click(object sender, EventArgs e)
{
Contacte co = new Contacte();
co.Show();
}
}
}

Form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Magazin_alimentar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)


{

///////////////////////////////////////////////////////////////////////////////////Logar -
Email si
Parola//////////////////////////////////////////////////////////////////////////////////////
/////////
private void logare_Click(object sender, EventArgs e)
{

9
SqlConnection sqlcon = new SqlConnection(@"Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Colea\Desktop\Magazin
alimentar\BD\LoginMAG.mdf;Integrated Security=True;Connect Timeout=30");

string query = "SELECT * FROM Login WHERE Email = '"+textBox1.Text.Trim()+"' and


Parola = '"+textBox2.Text.Trim()+"' ";
string query2 = "SELECT * FROM Admini WHERE Login = '" + textBox1.Text.Trim() +
"' and Password = '" + textBox2.Text.Trim() + "' ";
SqlDataAdapter sda = new SqlDataAdapter(query, sqlcon);
SqlDataAdapter sda2 = new SqlDataAdapter(query2, sqlcon);
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();
sda.Fill(dt);
sda2.Fill(dt2);
if (dt.Rows.Count == 1)
{
Principala form1 = (Principala)Application.OpenForms["Principala"];
Form2 frm2 = new Form2();
frm2.Show();
form1.Hide();
this.Close();
}
else if (dt2.Rows.Count == 1)
{
Principala form1 = (Principala)Application.OpenForms["Principala"];
admin adm = new admin();
adm.Show();
form1.Hide();
this.Close();
}
else
{
MessageBox.Show("Introdu corect datele");
}

}
/////////////////////////////////////////////////////////////////Buton
Exit////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
/////////////////////////////////////////////////////////////////Buton
Inregistrare////////////////////////////////////////////////////////////////////////////////
/////////////////////////////
private void button1_Click(object sender, EventArgs e)
{
Form3 objForm3 = new Form3();
objForm3.Show();
}

}
}

10
Form2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

11
using System.IO;
using System.Drawing.Imaging;

namespace Magazin_alimentar
{
public partial class Form2 : Form
{

SqlConnection con = new SqlConnection(@"Data


Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Colea\Desktop\Magazin
alimentar\BD\LoginMAG.mdf;Integrated Security=True;Connect Timeout=30");
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)


{

SqlCommand sel1 = new SqlCommand("SELECT * FROM Categorii", con);


SqlDataAdapter da1 = new SqlDataAdapter(sel1);
DataSet ds1 = new DataSet();
da1.Fill(ds1);
comboBox1.DataSource = ds1.Tables[0];
comboBox1.DisplayMember = "Denumire_c";
comboBox1.ValueMember = "ID_Categorie";

SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs], [Produse].


[Denumire] FROM [Produse] INNER JOIN [Categorii] ON [Produse].[ID_Categorie]=[Categorii].
[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].[ID_Furnizor]=[Furnizori].[ID_Furnizor]
where Denumire_c=@ne", con);
sel.Parameters.AddWithValue("@ne", comboBox1.Text);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[0].Visible = false;
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)


{
SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs], [Produse].
[Denumire] FROM [Produse] INNER JOIN [Categorii] ON [Produse].[ID_Categorie]=[Categorii].
[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].[ID_Furnizor]=[Furnizori].[ID_Furnizor]
where Denumire_c=@ne", con);
sel.Parameters.AddWithValue("@ne", comboBox1.Text);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];

12
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs
e)
{
SqlCommand sel2 = new SqlCommand("SELECT * FROM [Produse] INNER JOIN
[Categorii] ON [Produse].[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON
[Produse].[ID_Furnizor]=[Furnizori].[ID_Furnizor] where ID_Produs=@ne", con);
sel2.Parameters.AddWithValue("@ne", dataGridView1.CurrentRow.Cells[0].Value);
SqlDataAdapter da2 = new SqlDataAdapter(sel2);
DataTable ds2 = new DataTable();
da2.Fill(ds2);
textBox3.Text = ds2.Rows[0].ItemArray[0].ToString();
label1.Text = "Denumire: " + ds2.Rows[0].ItemArray[1].ToString();
label2.Text = "Categorie: " + ds2.Rows[0].ItemArray[6].ToString();
label3.Text = "Pret: " + ds2.Rows[0].ItemArray[2].ToString() + " lei";
label4.Text = "Furnizor: " + ds2.Rows[0].ItemArray[8].ToString();
}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)


{

}
private void button3_Click(object sender, EventArgs e)
{
Principala p = new Principala();
Form1 f1 = new Form1();
this.Close();
p.Show();
f1.Show();
}

private void button1_Click(object sender, EventArgs e)


{
if (string.IsNullOrWhiteSpace(textBox1.Text) ||
string.IsNullOrWhiteSpace(textBox2.Text))
{
MessageBox.Show("Indepliniti cimpurile!");
}
else if (string.IsNullOrWhiteSpace(textBox3.Text))
{
MessageBox.Show("Alege produsul!");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Comenzi(ID_Produs, Cantitate, Nme_Prenume,
Telefon) values ('" + textBox3.Text + "', '" + comboBox2.Text + "' , '" + textBox1.Text +
"', '" + textBox2.Text + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Comanda reusita!");

}
}
}

13
Form3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Magazin_alimentar
{
public partial class Form3 : Form
{

14
string sqlconnection = @"Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Colea\Desktop\Magazin
alimentar\BD\LoginMAG.mdf;Integrated Security=True;Connect Timeout=30";

public Form3()
{
InitializeComponent();

}
//////////////////////////////////////////////////////Inregistrare in baza de
date///////////////////////////////////////////////
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" ||
textBox4.Text == "" || textBox5.Text == "")
MessageBox.Show("Indepliniti toate cimpurile");
else if (textBox5.Text != textBox6.Text)
MessageBox.Show("Parolele nu coincid");
else
{
using (SqlConnection conSQL = new SqlConnection(sqlconnection))
{
conSQL.Open();
SqlCommand sqlcmd = new SqlCommand("addUser", conSQL);
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.Parameters.AddWithValue("@Email", textBox4.Text.Trim());
sqlcmd.Parameters.AddWithValue("@Parola", textBox5.Text.Trim());
sqlcmd.Parameters.AddWithValue("@Nume", textBox1.Text.Trim());
sqlcmd.Parameters.AddWithValue("@Prenume", textBox2.Text.Trim());
sqlcmd.Parameters.AddWithValue("@Adresa", textBox3.Text.Trim());
sqlcmd.ExecuteNonQuery();
MessageBox.Show("Inregistrare reusita");
//Inapoi la principala
this.Close();
}

private void Form3_Load(object sender, EventArgs e)


{

}
}
}

15
desprenoi
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Magazin_alimentar
{
public partial class desprenoi : Form
{
public desprenoi()
{
InitializeComponent();
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)


{

private void desprenoi_Load(object sender, EventArgs e)


{

16
}
}
}

Contacte
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Magazin_alimentar
{
public partial class Contacte : Form
{
public Contacte()
{
InitializeComponent();
}

17
private void Contacte_Load(object sender, EventArgs e)
{

}
}
}

admin
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

18
namespace Magazin_alimentar
{
public partial class admin : Form
{
SqlConnection con = new SqlConnection(@"Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Colea\Desktop\Magazin
alimentar\BD\LoginMAG.mdf;Integrated Security=True;Connect Timeout=30");
public admin()
{
InitializeComponent();
}

private void admin_Load(object sender, EventArgs e)


{

SqlCommand comen = new SqlCommand("SELECT * from Comenzi", con);


SqlDataAdapter daco = new SqlDataAdapter(comen);
DataSet dsco = new DataSet();
daco.Fill(dsco);
dataGridView13.DataSource = dsco.Tables[0];

SqlCommand u1 = new SqlCommand("SELECT * from Categorii", con);


SqlDataAdapter us1 = new SqlDataAdapter(u1);
DataSet su1 = new DataSet();
us1.Fill(su1);
dataGridView10.DataSource = su1.Tables[0];

//Afisare furnizori
SqlCommand user = new SqlCommand("SELECT * from Furnizori", con);
SqlDataAdapter us = new SqlDataAdapter(user);
DataSet su = new DataSet();
us.Fill(su);
dataGridView2.DataSource = su.Tables[0];
dataGridView9.DataSource = su.Tables[0];

//Afisre user
SqlCommand ui = new SqlCommand("SELECT * from Login", con);
SqlDataAdapter di = new SqlDataAdapter(ui);
DataSet du = new DataSet();
di.Fill(du);
dataGridView4.DataSource = du.Tables[0];
dataGridView6.DataSource = du.Tables[0];

//Afisare admini
SqlCommand fur = new SqlCommand("SELECT * from Admini", con);
SqlDataAdapter fr = new SqlDataAdapter(fur);
DataSet fu = new DataSet();
fr.Fill(fu);
dataGridView3.DataSource = fu.Tables[0];
dataGridView5.DataSource = fu.Tables[0];
dataGridView11.DataSource = fu.Tables[0];

SqlCommand sel1 = new SqlCommand("SELECT * FROM Categorii", con);


SqlCommand sel3 = new SqlCommand("SELECT * FROM Furnizori", con);
SqlCommand sel10 = new SqlCommand("SELECT * FROM Categorii", con);
SqlCommand sel30 = new SqlCommand("SELECT * FROM Furnizori", con);
SqlDataAdapter da1 = new SqlDataAdapter(sel1);
19
DataSet ds1 = new DataSet();
SqlDataAdapter da2 = new SqlDataAdapter(sel3);
DataSet ds2 = new DataSet();
SqlDataAdapter da10 = new SqlDataAdapter(sel1);
DataSet ds10 = new DataSet();
SqlDataAdapter da20 = new SqlDataAdapter(sel3);
DataSet ds20 = new DataSet();
da1.Fill(ds1);
da2.Fill(ds2);
da10.Fill(ds10);
da20.Fill(ds20);
comboBox1.DataSource = ds1.Tables[0];
comboBox2.DataSource = ds2.Tables[0];
comboBox1.DisplayMember = "Denumire_c";
comboBox2.DisplayMember = "Denumire_f";
comboBox1.ValueMember = "ID_Categorie";
comboBox2.ValueMember = "ID_Furnizor";
comboBox4.DataSource = ds10.Tables[0];
comboBox3.DataSource = ds20.Tables[0];
comboBox4.DisplayMember = "Denumire_c";
comboBox3.DisplayMember = "Denumire_f";
comboBox4.ValueMember = "ID_Categorie";
comboBox3.ValueMember = "ID_Furnizor";

//Afisare produse
SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs],
[Produse].[Denumire], Produse.Pret, [Categorii].[Denumire_c], [Furnizori].
[Denumire_f] FROM [Produse] INNER JOIN [Categorii] ON [Produse].
[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].
[ID_Furnizor]=[Furnizori].[ID_Furnizor]", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView8.DataSource = ds.Tables[0];
dataGridView7.DataSource = ds.Tables[0];

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)


{
SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs],
[Produse].[Denumire], Produse.Pret, [Categorii].[Denumire_c], [Furnizori].
[Denumire_f] FROM [Produse] INNER JOIN [Categorii] ON [Produse].
[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].
[ID_Furnizor]=[Furnizori].[ID_Furnizor] where Denumire_c=@ne", con);
sel.Parameters.AddWithValue("@ne", comboBox1.Text);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];

private void tabPage1_Click(object sender, EventArgs e)


{
20
}

private void button1_Click(object sender, EventArgs e)


{

if (string.IsNullOrWhiteSpace(textBox1.Text) ||
string.IsNullOrWhiteSpace(textBox2.Text))
{
MessageBox.Show("Indepliniti cimpurile");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Produse(Denumire, Pret,
ID_Categorie, ID_Furnizor) values('" + this.textBox1.Text + "', '" +
this.textBox2.Text + "', '" + comboBox1.SelectedValue + "', '" +
comboBox2.SelectedValue + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Inserare reusita!");

}
SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs],
[Produse].[Denumire], Produse.Pret, [Categorii].[Denumire_c], [Furnizori].
[Denumire_f] FROM [Produse] INNER JOIN [Categorii] ON [Produse].
[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].
[ID_Furnizor]=[Furnizori].[ID_Furnizor]", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView8.DataSource = ds.Tables[0];
dataGridView7.DataSource = ds.Tables[0];

private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs


e)
{

private void button2_Click(object sender, EventArgs e)


{
if (string.IsNullOrWhiteSpace(textBox4.Text) ||
string.IsNullOrWhiteSpace(textBox3.Text))
{
MessageBox.Show("Indepliniti cimpurile");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Furnizori(Denumire_f,
Adresa_f) values('" + this.textBox4.Text + "', '" + this.textBox3.Text + "')",
con);
con.Open();
cmd.ExecuteNonQuery();
21
con.Close();
MessageBox.Show("Inserare reusita!");

}
SqlCommand user = new SqlCommand("SELECT * from Furnizori", con);
SqlDataAdapter us = new SqlDataAdapter(user);
DataSet su = new DataSet();
us.Fill(su);
dataGridView2.DataSource = su.Tables[0];

private void button3_Click(object sender, EventArgs e)


{
Principala p = new Principala();
Form1 f1 = new Form1();
this.Close();
p.Show();
f1.Show();

private void button4_Click(object sender, EventArgs e)


{
if (string.IsNullOrWhiteSpace(textBox5.Text) ||
string.IsNullOrWhiteSpace(textBox6.Text) ||
string.IsNullOrWhiteSpace(textBox7.Text) ||
string.IsNullOrWhiteSpace(textBox8.Text))
{
MessageBox.Show("Indepliniti cimpurile");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Admini(Nume, Prenume,
Password, Login) values('" + this.textBox5.Text + "', '" + this.textBox6.Text +
"', '" + this.textBox7.Text + "', '" + this.textBox8.Text + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Inserare reusita!");

}
SqlCommand sel = new SqlCommand("SELECT * from Admini", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView3.DataSource = ds.Tables[0];
dataGridView5.DataSource = ds.Tables[0];
dataGridView11.DataSource = ds.Tables[0];
}

private void label18_Click(object sender, EventArgs e)


{

private void button5_Click(object sender, EventArgs e)


22
{
if (string.IsNullOrWhiteSpace(textBox9.Text) ||
string.IsNullOrWhiteSpace(textBox10.Text) ||
string.IsNullOrWhiteSpace(textBox11.Text) ||
string.IsNullOrWhiteSpace(textBox12.Text) ||
string.IsNullOrWhiteSpace(textBox13.Text))
{
MessageBox.Show("Indepliniti cimpurile");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Login(Email, Parola, Nume,
Prenume, Adresa) values('" + this.textBox9.Text + "', '" + this.textBox10.Text +
"', '" + this.textBox11.Text + "', '" + this.textBox12.Text + "', '" +
this.textBox13.Text + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Inserare reusita!");

}
SqlCommand sel = new SqlCommand("SELECT * from Login", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView4.DataSource = ds.Tables[0];
dataGridView6.DataSource = ds.Tables[0];
}

private void tabPage2_Click(object sender, EventArgs e)


{

}
////////////////////////////Sterge
admin////////////////////////////////////////////////
private void button6_Click(object sender, EventArgs e)
{
string query = "SELECT * FROM Admini WHERE ID_Admin = '" +
textBox14.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 1)
{
SqlCommand cmd = new SqlCommand("delete from Admini where
ID_Admin=@id", con);
con.Open();
cmd.Parameters.AddWithValue("@id", textBox14.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Stergere reusita");
}
else
{
MessageBox.Show("Introdu corect datele");
}

23
SqlCommand sel = new SqlCommand("SELECT * from Admini", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView3.DataSource = ds.Tables[0];
dataGridView5.DataSource = ds.Tables[0];
}
////////////////////////////Sterge
user////////////////////////////////////////////////
private void button7_Click(object sender, EventArgs e)
{
string query = "SELECT * FROM Login WHERE ID_Login = '" +
textBox15.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 1)
{
SqlCommand cmd = new SqlCommand("delete from Login where
ID_Login=@id", con);
con.Open();
cmd.Parameters.AddWithValue("@id", textBox15.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Stergere reusita");
}
else
{
MessageBox.Show("Introdu corect datele");
}

SqlCommand sel = new SqlCommand("SELECT * from Login", con);


SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView4.DataSource = ds.Tables[0];
dataGridView6.DataSource = ds.Tables[0];
}

private void button9_Click(object sender, EventArgs e)


{

string query = "SELECT * FROM Produse WHERE ID_Produs = '" +


textBox17.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 1)
{
SqlCommand cmd = new SqlCommand("delete from Furnizori where
ID_Furnizor=@id", con);
con.Open();
cmd.Parameters.AddWithValue("@id", textBox15.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Stergere reusita");
}
else
24
{
MessageBox.Show("Introdu corect datele");
}

SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs],


[Produse].[Denumire], Produse.Pret, [Categorii].[Denumire_c], [Furnizori].
[Denumire_f] FROM [Produse] INNER JOIN [Categorii] ON [Produse].
[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].
[ID_Furnizor]=[Furnizori].[ID_Furnizor]", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView8.DataSource = ds.Tables[0];
dataGridView7.DataSource = ds.Tables[0];
}

private void button11_Click(object sender, EventArgs e)


{
if (string.IsNullOrWhiteSpace(textBox19.Text))
{
MessageBox.Show("Indepliniti cimpul");
}
else
{
SqlCommand cmd;
cmd = new SqlCommand("Insert into Categorii(Denumire_c)
values('" + this.textBox19.Text + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Inserare reusita!");

}
SqlCommand user = new SqlCommand("SELECT * from Categorii", con);
SqlDataAdapter us = new SqlDataAdapter(user);
DataSet su = new DataSet();
us.Fill(su);
dataGridView10.DataSource = su.Tables[0];

private void button8_Click(object sender, EventArgs e)


{
if (!string.IsNullOrEmpty(textBox20.Text) && !
string.IsNullOrWhiteSpace(textBox20.Text) &&
!string.IsNullOrEmpty(textBox18.Text) && !
string.IsNullOrWhiteSpace(textBox18.Text) &&
!string.IsNullOrEmpty(textBox16.Text) && !
string.IsNullOrWhiteSpace(textBox16.Text))
{
SqlCommand command = new SqlCommand("UPDATE [Produse] SET
[Denumire]=@Denumire, [Pret]=@Pret, [ID_Categorie]=@ID_Categorie,
[ID_Furnizor]=@ID_Furnizor WHERE [ID_Produs]=@ID_Produs", con);

command.Parameters.AddWithValue("ID_Produs", textBox20.Text);
command.Parameters.AddWithValue("Denumire", textBox18.Text);
25
command.Parameters.AddWithValue("Pret", textBox16.Text);
command.Parameters.AddWithValue("ID_Categorie",
comboBox4.SelectedValue);
command.Parameters.AddWithValue("ID_Furnizor",
comboBox3.SelectedValue);
con.Open();
command.ExecuteNonQuery();
con.Close();
}
else
{
MessageBox.Show("Incercaati din nou");
}

SqlCommand sel = new SqlCommand("SELECT [Produse].[ID_Produs],


[Produse].[Denumire], Produse.Pret, [Categorii].[Denumire_c], [Furnizori].
[Denumire_f] FROM [Produse] INNER JOIN [Categorii] ON [Produse].
[ID_Categorie]=[Categorii].[ID_Categorie] INNER JOIN [Furnizori] ON [Produse].
[ID_Furnizor]=[Furnizori].[ID_Furnizor]", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
dataGridView8.DataSource = ds.Tables[0];
dataGridView7.DataSource = ds.Tables[0];

private void button10_Click(object sender, EventArgs e)


{
if (!string.IsNullOrEmpty(textBox23.Text) && !
string.IsNullOrWhiteSpace(textBox23.Text) &&
!string.IsNullOrEmpty(textBox22.Text) && !
string.IsNullOrWhiteSpace(textBox22.Text) &&
!string.IsNullOrEmpty(textBox21.Text) && !
string.IsNullOrWhiteSpace(textBox21.Text))
{
SqlCommand command = new SqlCommand("UPDATE [Furnizori] SET
[Denumire_f]=@Denumire_f, [Adresa_f]=@Adresa_f WHERE
[ID_Furnizor]=@ID_Furnizor", con);

command.Parameters.AddWithValue("ID_Furnizor", textBox23.Text);
command.Parameters.AddWithValue("Denumire_f", textBox22.Text);
command.Parameters.AddWithValue("Adresa_f", textBox21.Text);

con.Open();
command.ExecuteNonQuery();
con.Close();
}
else
{
MessageBox.Show("Incercaati din nou");
}
SqlCommand user = new SqlCommand("SELECT * from Furnizori", con);
SqlDataAdapter us = new SqlDataAdapter(user);
DataSet su = new DataSet();
us.Fill(su);
dataGridView2.DataSource = su.Tables[0];
26
dataGridView9.DataSource = su.Tables[0];
}

private void tabPage3_Click(object sender, EventArgs e)


{

private void button12_Click(object sender, EventArgs e)


{
if (!string.IsNullOrEmpty(textBox24.Text) && !
string.IsNullOrWhiteSpace(textBox24.Text) &&
!string.IsNullOrEmpty(textBox25.Text) && !
string.IsNullOrWhiteSpace(textBox25.Text) &&
!string.IsNullOrEmpty(textBox26.Text) && !
string.IsNullOrWhiteSpace(textBox26.Text) &&
!string.IsNullOrEmpty(textBox27.Text) && !
string.IsNullOrWhiteSpace(textBox27.Text) &&
!string.IsNullOrEmpty(textBox28.Text) && !
string.IsNullOrWhiteSpace(textBox28.Text))
{
SqlCommand command = new SqlCommand("UPDATE [Admini] SET
[Nume]=@Nume, [Prenume]=@Prenume, [Password]=@Password, [Login]=@Login WHERE
[ID_Admin]=@ID_Admin", con);

command.Parameters.AddWithValue("ID_Admin", textBox24.Text);
command.Parameters.AddWithValue("Nume", textBox25.Text);
command.Parameters.AddWithValue("Prenume", textBox26.Text);
command.Parameters.AddWithValue("Password", textBox27.Text);
command.Parameters.AddWithValue("Login", textBox28.Text);
con.Open();
command.ExecuteNonQuery();
con.Close();
}
else
{
MessageBox.Show("Incercaati din nou");
}
SqlCommand sel = new SqlCommand("SELECT * from Admini", con);
SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView3.DataSource = ds.Tables[0];
dataGridView5.DataSource = ds.Tables[0];
dataGridView11.DataSource = ds.Tables[0];
}

private void button13_Click(object sender, EventArgs e)


{
if (!string.IsNullOrEmpty(textBox29.Text) && !
string.IsNullOrWhiteSpace(textBox29.Text) &&
!string.IsNullOrEmpty(textBox30.Text) && !
string.IsNullOrWhiteSpace(textBox30.Text) &&
!string.IsNullOrEmpty(textBox31.Text) && !
string.IsNullOrWhiteSpace(textBox31.Text) &&
!string.IsNullOrEmpty(textBox32.Text) && !
string.IsNullOrWhiteSpace(textBox32.Text) &&
!string.IsNullOrEmpty(textBox33.Text) && !
string.IsNullOrWhiteSpace(textBox33.Text) &&
27
!string.IsNullOrEmpty(textBox34.Text) && !
string.IsNullOrWhiteSpace(textBox34.Text))
{
SqlCommand command = new SqlCommand("UPDATE [Login] SET
[Email]=@Email, [Parola]=@Parola, [Nume]=@Nume, [Prenume]=@Prenume,
[Adresa]=@Adresa WHERE [ID_Login]=@ID_Login", con);

command.Parameters.AddWithValue("ID_Login", textBox29.Text);
command.Parameters.AddWithValue("Email", textBox30.Text);
command.Parameters.AddWithValue("Parola", textBox31.Text);
command.Parameters.AddWithValue("Nume", textBox32.Text);
command.Parameters.AddWithValue("Prenume", textBox33.Text);
command.Parameters.AddWithValue("Adresa", textBox34.Text);
con.Open();
command.ExecuteNonQuery();
con.Close();
}
else
{
MessageBox.Show("Incercaati din nou");
}
}

private void button14_Click(object sender, EventArgs e)


{
string query = "SELECT * FROM Comenzi WHERE ID_Comanda = '" +
textBox35.Text.Trim() + "'";
SqlDataAdapter sda = new SqlDataAdapter(query, con);
DataTable dt = new DataTable();
sda.Fill(dt);
if (dt.Rows.Count == 1)
{
SqlCommand cmd = new SqlCommand("delete from Comenzi where
ID_Comanda=@id", con);
con.Open();
cmd.Parameters.AddWithValue("@id", textBox35.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Stergere reusita");
}
else
{
MessageBox.Show("Introdu corect datele");
}

SqlCommand sel = new SqlCommand("SELECT * from Comenzi", con);


SqlDataAdapter da = new SqlDataAdapter(sel);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView13.DataSource = ds.Tables[0];

}
}

28
Proceduri

CREATE PROC addUser


@Email varchar(50),
@Parola varchar(50),
@Nume varchar(50),
@Prenume varchar(50),
@Adresa varchar(50)
AS
INSERT INTO Login(Email, Parola, Nume, Prenume, Adresa)
VALUES (@Email, @Parola, @Nume, @Prenume, @Adresa)

3. Shema bazei de date:

4. Rapoarte:

Tabel admin

29
Tabel Categorii

Tabel Comenzi

Tabel Furnizori

30
Tabel Login

Tabel Produse

31
32
33
34
35
5. Prezentarea programului
Forma Principala

1. Accesând butonul “Logare” apare urmatorea fereastra “Logare”

36
2. În caz că nu suntem înregistrați accesăm butonul “Înregistrațivă” și mai apoi apare fereastra
Formular

3. Introducând corect datele pentru înregistrare și apăsând butonul “Înregistrare” va apărea un


MessageBox cu un anumit mesaj iar mai apoi după tastarea butonului OK se închide
dereastra curentă și ferestra Formular

37
4. Accesând direct de pe pagina principăl butonul înregistrare ajungem direct la fereastra
Formular
5. Accesând butonul “Despre noi” sau “Contacte” pe fereastra principală vor aparea ferestrele
respective cu informatia necesară

6. Dacă dorim să închidem fereastra principală facem click pe butonul “Exit” care la plasarea
cursorului pe el se face roșu

38
7. Dacă ne logăm ca user se deschide următorea fereastră unde putem plasa o comandă sau să
căutăm un produs sortândul după categoria sa

8. Facând click pe combobox apar toate categoriile existente în baza de date, iar dacă facem
click pe altă categorie din combobox apar produsele cu categoria respectivă
39
9. Dacă facem click pe unul din produsele apărute în datagridview în dreapta ei apare
informația despre produsul selectat

10. Pentru a plasa o comandă este necesar de a introduce datele Nume Prenumele, Telefonul și
Cantitatea produsului (cantitatea este aleasă cu ajutorul unui combobox) iar pentru efectuarea
comenzii este necesar să facem click pe butonul “Comandă”

40
11. Dacă dorim să ne delogăm din contul respectiv facem click pe butonul “Delogheazăte” (în
colț dreapta sus)
12. Mai apoi dacă avem nevoie să modificăm, ștergem și actualiza datele din baza de date ne
logăm cu contul unui admin

41
42
13. La introducerea datelor corect în casete se vor introduce noi date în baza de date și se va
afișa MessageBox-ul cu informația că totul este introdus corect

43
14. În caz că dorim să ștergem un utilizator, admin, produs, comandă din baza de date
introducem în una din casete ID-ul (user, admin, produs, comandă) și facem click pe butonul
“Șterge” respectiv ID-ul introdus și datele care îi aparțin se șterg

15. Pentru a face update la baza de date este necesar introducerea corectă a ID-ului produsului
sau furnizorului etc. și mai apoi este posibilă modificarea datelor pentru ID-ul respectiv

(Data de baze inițială)

44
(După modificare)
16. Dacă dorim să ne delogam facem click pe butonul “Delogheazăte”.

Bibliografie
1. https://www.w3schools.com/
2. http://1bestcsharp.blogspot.com/2016/04/csharp-update-datagridview-cell-image.html
3. https://iconsflow.com/editor
45
4. https://stackoverflow.com/questions/22695778/sql-server-invalid-column-name-error-when-
inserting-into-excel-linked-server
5. https://www.codeproject.com/Questions/1235385/How-to-make-an-inner-join-in-Csharp-for-
inserting
6. https://documentation.devexpress.com/XtraReports/2658/Get-Started-with-DevExpress-
Reporting/Add-a-Report-to-Your-VS-Project/Add-a-New-Report-to-a-WinForms-
Application
7. https://stackoverflow.com/questions/33510649/delete-foreign-key
8. https://www.c-sharpcorner.com/UploadFile/1e050f/insert-update-and-delete-record-in-
datagridview-C-Sharp/
9. https://1bestcsharp.blogspot.com/2014/11/c-how-to-clear-text-of-all-textboxes-in.html

46

S-ar putea să vă placă și