Sunteți pe pagina 1din 36

Cuprins

Enunţul sarcinilor individuale..........................................................................................................2


Proiectarea bazei de date...................................................................................................................2
Crearea modelului obiect(diagrama Entitate-Relaţie).................................................................................................................2
Tranzacţiile principale ale sistemului..........................................................................................................................................4
Protecţia bazei de date.......................................................................................................................4
Descrierea proiectului şi interfeţei....................................................................................................4
Forma Main..................................................................................................................................................................................4
Forma Info Login.........................................................................................................................................................................5
Forma Login................................................................................................................................................................................6
Forma Sarcina 1...........................................................................................................................................................................7
Forma Sarcina 2...........................................................................................................................................................................8
Forma Sarcina 3...........................................................................................................................................................................9
Forma Sarcina 4...........................................................................................................................................................................9
Forma Sarcina 5.........................................................................................................................................................................10
Forma Sarcina 6.........................................................................................................................................................................10
Form Sarcina 7...........................................................................................................................................................................11
Forma Sarcina 8.........................................................................................................................................................................11
Forma Sarcina 9.........................................................................................................................................................................12
Forma Sarcina 10.......................................................................................................................................................................12
Listingul aplicaţiei............................................................................................................................13
Form 1........................................................................................................................................................................................13
Form 2........................................................................................................................................................................................15
Form 3........................................................................................................................................................................................17
Form 4........................................................................................................................................................................................18
Form 5........................................................................................................................................................................................20
Form 6........................................................................................................................................................................................22
Form 7........................................................................................................................................................................................23
Form 8........................................................................................................................................................................................24
Form 9........................................................................................................................................................................................25
Form 10......................................................................................................................................................................................27
Form 11......................................................................................................................................................................................28
Form 12......................................................................................................................................................................................30
Form 13......................................................................................................................................................................................32
Ghid de utilizare a aplicaţiei............................................................................................................33
Produsul cu care este constituită aplicaţia.................................................................................................................................33
Cerinţe minime hardware/software............................................................................................................................................33
Erori posibile..............................................................................................................................................................................33
Concluzie...........................................................................................................................................34
Bibliografie........................................................................................................................................35
Enunţul sarcinilor individuale
20.CAZARE.
Informaţia despre unităţile de cazare a unei baze turistice şi despre turiştii cazaţi este înregistrată într-o
bază de date.
Elaboraţi o bază de date, gestiunea căreia se va realiza dintr-o aplicaţie vizuală. În dependență de tematică
se vor specifica criteriile de integritate pentru baza de date, administra obiecte ale bazei de date, stabili
planul de întreținere a bazei de date și moduri de securizare a datelor din baza de date. Informațiile din
baza de date se v-or prelucra la solicitarea utilizatorului folosind meniuri, formulare și control-ere, ținând
cont de următoarele funcţionalităţi:
1) Înregistrează turistul, sosit în ziua indicată, în camera cu codul introdus de la tastatură;
2) Afișează lista turiștilor, care în ziua X nu sunt cazați.
3) Afișează lista turiștilor ce dispun de reducere, și prețul final al sejurului (după aplicarea reducerii)
4) Afişează la ecran datele turiştilor, al căror sejur expiră la data, introdusă de la tastatură;
5) Afişează la ecran atributele tuturor unităţilor de cazare disponibile, la data introdusă de la
tastatură;
6) Exportă într-un fișier MS Word sau MS Excel atributele camerelor, în ordinea descrescătoare a
numărului de locuri libere din acestea;
7) Determină preţul mediu al sejururilor turiştilor actual cazaţi;
8) Determină cel mai scump şi cel mai ieftin loc de cazare.
9) Afișează la ecran facilitățile de care dispun turiști în dependență de prețul sejurului;
10) Determină prețul final al sejurului, în caz de oferire a unei reduceri.

Proiectarea bazei de date

Crearea modelului obiect(diagrama Entitate-Relaţie)

Pentru elaborarea bazei de date Cazare, am analizat cu atenție ce date se vor conține într-o bază de date
cu tematica respectivă. Prin urmare, am evidențiat 6 entități : Turiști, Camera, Camera_type, Sejur,
Distracții și Înregistrare.

Entitatea Turiști conține informații despre turiștii ce eventual se vor caza într-o unitate turistică.
Aceasta conține informații despre numele, prenumele și patronimicul turiștilor, sexul acestora, și numărul
de telefon.
Entitatea Camera_type conține informații despre tipul camerelor existente în unitatea de cazare.
Aceasta conține informații despre capacitatea maximă a diferitor tipuri de camere, descriere(în diferite
unități de cazare există tipuri diferite de camere, plecând de la categorii lux, până la cele standard sau
economice.) și de asemenea prețul pe zi, în fiecare tip de cameră aparte(Pentru camere luxoase, prețul este
ridicat, pentru categorii medii, prețul pe zi este mai scăzut.)

Entitatea Camera conține informații despre camerele unității turistice.


Aceasta conține informații-referință cu tipul camerelor, numărul lor de ordine în unitatea de cazare,
locurile din cameră ocupate de turiști, și ce facilități dispun (televizor, frigider, aer condiționat etc.).

Entitatea Distracții conține informații despre distracțiile turiștilor ce sunt cazați în unitatea de cazare
respectivă.
Aceasta conține informații despre denumirea distracției, și prețul pentru diferite tipuri de
distracții(Piscina, Fitness, Biliard etc.).

1
Entitatea Sejur conține informații despre sejurul turiștilor ce sunt cazați în unitatea turistică.
Aceasta conține informații despre ce tip de distracție a ales turistul, și data la care acesta va utiliza sejurul.

Entitatea Înregistrare conține informații despre toți turiștii cazați:


Id-ul Turistului, Camera în care este cazat, data închirierii camerei de către turist, termenul de cazare al
acestuia, dar de asemenea și un termen de prelungire, în care turistul poate adăuga un timp limitat de zile
în cazul în care în aceeași cameră peste o scurtă perioadă de timp, se va începe cazarea altui turist.

Entitatea Turiști conține următoarele atribute:


[IdTurist] int primary key,
[NumeTurist] char(50) NOT NULL ,
[PrenumeTurist] char(50) NOT NULL ,
[PatrTurist] char(50) NOT NULL ,
[SexTurist] char check(SexTurist='M' or SexTurist='F') not null,
[Telefon] int NOT NULL

Entitatea Camera_type conține următoarele atribute:


[IdCamera_type] int primary key ,
[Descriere] char(80) NOT NULL,
[Capacitate_Max] int NOT NULL,
[Pret/Zi] int NOT NULL

Entitatea Camera conține următoarele atribute:


[IdCamera] int primary key ,
[IdCamera_type] int foreign key references [Camera_type],
[NumarCamera] int NOT NULL,
[Loc_Camera] int NOT NULL , --cate locuri sunt ocupate in camera data
[Facilitate] char(50) NOT NULL

Entitatea Distracții conține următoarele atribute:


[IdDistractie] int primary key ,
[Denumire] char(50) NOT NULL,
[Pret] money NOT NULL

Entitatea Sejur conține următoarele atribute:


[IdSejur] int primary key ,
[IdTurist] int foreign key references Turisti ,
[IdDistractie] int foreign key references Distractii,
[Data_sejur] date

Entitatea Înregistrare conține următoarele atribute:


[IdInregistrare] int primary key ,
[IdCamera] int foreign key references Camera,
[IdTurist] int foreign key references Turisti,
[Data_inchirierii] date NOT NULL,
[Termen_Cazare] int NOT NULL ,
[Termen_adaos] int NOT NULL,

Am realizat asocieri între entitățile bazei de date Cazare, prin intermediul constrîngerii “foreign key” sau
“cheie externă”:

Asocierile au fost stabilite între atributele IdCamera_type al entității Camera și IdCamera_type al


entității Camera_type, între atributele IdTurist și IdDistracţie al entității Sejur cu atributele IdTurist al
entității Turişti, şi cu atributul IdDistracţie al entităţii Distracţii. Între entităţile Înregistrare, Camera şi
Turişti deasemenea avem asocieri, unde atributele IdCamera şi IdTurist, sunt asociate cu atributele cu
aceeaşi denumire din entităţile Camera şi Turişti.

2
La crearea bazei de date Cazare, s-au respectat principiile normalizării, iar date redundante nu s-au
intâlnit .
Crearea modelului obiect(diagrama Entitate-Relaţie)

Tranzacţiile principale ale sistemului

Asupra datelor se vor efectua operaţii de joncţiune, de afişare a datelor în urma efectuării select-urilor, de
afişare a rezultatelor calculabile în urma rulării scenariului anumitor vederi, şi a procedurii stocate la
inserarea informaţiilor într-un tabel.

Protecţia bazei de date


Autentificarea pentru lucrul cu baza de date are loc în modul deconectat.Pentru rularea scenariului bazei
de date, autentificarea se face implicit in SSMS(SQL Server Management Studiu), prin Windows
Authentication mode, unde se introduce denumirea serverului\SQLEXPRESS. Pentru o integritate bună a
bazei de date, la creare tabelelor bazei de date, am stabilit constrângeri de integritate precum Primary
Key, Foreign Key,Not Null, check etc.

Descrierea proiectului şi interfeţei


Proiectul pe care l-am realizat la stagiul de practică tehnologică are ca scop manipularea informaţiilor din
baza de date Cazare, şi afişarea rezultatelor în urma selectării anumitor informaţii din baza de date.
Acesta se compune din mai multe forme, fiecare cu funcţionalităţi adaptate sarcinilor individuale.
Deasemenea, pentru comoditate şi lejeritate în utilizare, am adaptat aplicaţiei un design plăcut, calm, care
se potriveşte tematicii sarcinii individuale.

3
Forma Main

Forma Main are concentrate sub un aspect atractiv toate condiţiile sarcinilor individuale, cât şi
direcţionarea spre informaţii de logare, iar apoi la logarea propriu-zisă.
Pentru o funcţionalitate corectă, utilizatorul ar trebui să se logheze pentru început, şi astfel acestuia i se
vor garanta drepturile de vizualizare a informaţiilor returnate în urma executării sarcinilor individuale.
Prin urmare, până când utilizatorul nu se va loga, acesta nu va avea acces la subpunctele cerinţelor
individuale, acestea vor rămâne blocate, până la momentul autentificării cu succes.

Fig.1 Forma principală (Forma Main)

După cum observăm, în fig.1 toate sarcinile sunt blocate, cu excepţia Info Login-ului, care ne va permite
să vizualizăm informaţiile necesare pentru logare.
Forma Info Login

În această formă, utilizatorului i se comunică informaţiile necesare pentru logare, şi anume Username-ul,
şi Password-ul. Pentru atractivitate, atunci când utilizatorul va acţiona butonul “Afişează informaţia”, din
forma dată, detaliile despre username şi password se vor afişa utilizând animaţii.

4
Fig.2 (Forma Info Login înainte de acţionarea butonului Afişează informaţia)

La acţionarea butonului Afişează informaţia, pe ecranul Formei Info Login vor apărea informaţiile despre
username şi passwordul necesar pentru eventuala logare.

Fig.3 (Forma Info Login după acţionarea butonului Afişează informaţia)

La închiderea acestei forme, se va deschide opţiunea de logare, care fără a vizualiza informaţiile despre
username şi password ar fi rămas blocată.

5
Forma Login

Forma Login permite utilizatorului să se logheze în aplicaţie. Dacă acesta a fost atent şi a memorat
informaţiile despre username şi password din Fig. 3 (Info Login), autentificarea va avea success, şi toate
sarcinile individuale se vor debloca, în caz contrar, se va afişa un mesaj de eroare, şi accesul la sarcinile
individuale va rămâne blocat.

Fig. 4 (Forma Login)

Fig.5 (Forma Login la autentificare greşită)

Forma Sarcina 1

În forma Sarcina 1, sunt prezente componentele necesare realizării sarcinii 1 din cerinţele individuale, şi
anume inserarea unui turist, în ziua indicată, în camera introdusă sau selectată.
6
Fig.7 (Forma Sarcina 1 la inserare)

Forma Sarcina 2

Forma Sarcina 2 presupune afişarea listei turiștilor, care în ziua X nu sunt cazați.
Pentru aceasta, am plasat un control DateTimePicker, în care utilizatorul alege data dorită, iar la
acţionarea butonului “Afişează”, în DataGridView se vor afişa rezultatele.

Fig. 8 ( Forma Sarcina 2)

Forma Sarcina 3

7
În Forma Sarcina 3, trebuie să afișez lista turiștilor ce dispun de reducere, și prețul final al sejurului (după
aplicarea reducerii).Pentru acest lucru, am plasat un control DataGridView pe formă, iar la acţionarea
butonului “Afişează”, datagridview-ul va fi populat cu informaţia necesară.

Fig. 9 (Forma Sarcina 3)

Forma Sarcina 4

În forma Sarcina 4, trebuie să afişez la ecran datele turiştilor, al căror sejur expiră la data, introdusă de
la tastatură. Pentru aceasta, am plasat un control DateTimePicker şi un control DataGridView, în care
se va afişa informaţia rezultantă în urma click-ului pe butonul “Acţionează”.

8
Fig. 10 (Forma Sarcina 4)

Forma Sarcina 5

În Forma Sarcina 5, trebuie să afişez informaţii despre camerele libere la data introdusă de la tastatură.
Pentru comoditate, am plasat pe formă un control DateTimePicker, şi un control DataGridView, care se
va popula cu informaţiile sarcinii 5, în urma acţionării butonului “Afişează camerele libere”.

Fig. 11(Forma Sarcina 5)

9
Forma Sarcina 6

În Forma Sarcina 6, trebuie să export într-un fișier MS Word sau MS Excel atributele camerelor, în
ordinea descrescătoare a numărului de locuri libere din acestea, însă, pe lângă aceasta, pentru
comoditate, am decis să afişez rezultatele într-un DataGridView. Primul lucru pe care utilizatorul îl va
realiza, va fi să afişeze informaţiile în DataGridView, iar apoi, la acţionarea butonului “Export to
Excel”, rezultatele din DataGridView vor fi trimise către Excel.

Fig. 12 (Forma Sarcina 6)

Form Sarcina 7

În Forma Sarcina 7, trebuie să determin preţul mediu al sejururilor turiştilor actual cazaţi;
Pentru aceasta, am plasat un control DataGridView, în care voi afişa preţul mediu.

10
Fig. 13 (Forma Sarcina 7)

Forma Sarcina 8

În Forma Sarcina 8, trebuie să determin cel mai scump şi cel mai ieftin loc de cazare.
Pentru acest lucru, am plasat 2 controale DataGridView, în care voi afişa informaţiile date.

Fig.14 (Forma Sarcina 8)

11
Forma Sarcina 9

În Forma Sarcina 9, trebuie să afişez la ecran facilitățile de care dispun turiști în dependență de prețul
sejurului. Pentru aceasta, am plasat pe Formă, un control DataGridView, în care se vor afişa informaţiile
sarcinii 9, în urma acţionării butonului “Lista facilităţilor în dependenţa preţului”.

Fig. 15 (Forma Sarcina 9)

Forma Sarcina 10

În Forma Sarcina 10, trebuie să determin prețul final al sejurului, în caz de oferire a unei reduceri.
Pentru acest lucru, am plasat pe formă un control DataGridView, care se va popula, în urma acţionării
butonului “Determină preţul sejurului+reducere dacă se aplică”.

12
Fig. 16 (Forma Sarcina 10)

Listingul aplicaţiei

Form 1
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.Diagnostics;

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

private void Form1_Load(object sender, EventArgs e)


{
button1.Enabled = true;
button2.Enabled = false;
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button7.Enabled = false;
button15.Enabled = false;
button16.Enabled = false;

13
button6.Enabled = false;
button17.Enabled = false;
button18.Enabled = false;
button19.Enabled = false;

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button1_Click(object sender, EventArgs e)


{
SidePanel.Height = button1.Height;
SidePanel.Top = button1.Top;
Form2 oform2 = new Form2();
oform2.ShowDialog();
button2.Enabled = true;
}

private void button2_Click(object sender, EventArgs e)


{
SidePanel.Height = button2.Height;
SidePanel.Top = button2.Top;
Form3 oform3 = new Form3();
oform3.ShowDialog();
if (oform3.x == 0)
{
button3.Enabled = true;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button7.Enabled = true;
button15.Enabled = true;
button16.Enabled = true;
button17.Enabled = true;
button18.Enabled = true;
button19.Enabled = true;
}
else
{
if (oform3.x == -1)
{
button3.Enabled = false;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button7.Enabled = false;
button15.Enabled = false;

14
button16.Enabled = false;
button17.Enabled = false;
button18.Enabled = false;
button19.Enabled = false;

}
}
}

private void button3_Click(object sender, EventArgs e)


{
SidePanel.Height = button3.Height;
SidePanel.Top = button3.Top;
Form4 oform4 = new Form4();
oform4.ShowDialog();
}

private void button4_Click(object sender, EventArgs e)


{
SidePanel.Height = button4.Height;
SidePanel.Top = button4.Top;
Form5 oform5 = new Form5();
oform5.ShowDialog();
}

private void button5_Click(object sender, EventArgs e)


{
SidePanel.Height = button5.Height;
SidePanel.Top = button5.Top;
Form6 oform6 = new Form6();
oform6.ShowDialog();
}

private void button7_Click(object sender, EventArgs e)


{
SidePanel.Height = button7.Height;
SidePanel.Top = button7.Top;
Form7 oform7 = new Form7();
oform7.ShowDialog();
}

private void button15_Click(object sender, EventArgs e)


{
SidePanel.Height = button15.Height;
SidePanel.Top = button15.Top;
Form8 oform8 = new Form8();
oform8.ShowDialog();
}

private void button16_Click(object sender, EventArgs e)


{
SidePanel.Height = button16.Height;
SidePanel.Top = button16.Top;
Form9 oform9 = new Form9();
oform9.ShowDialog();
}

private void button6_Click(object sender, EventArgs e)


{
SidePanel.Height = button6.Height;
SidePanel.Top = button6.Top;
Form10 oform10 = new Form10();
oform10.ShowDialog();
}

15
private void button17_Click(object sender, EventArgs e)
{
SidePanel.Height = button17.Height;
SidePanel.Top = button17.Top;
Form11 oform11 = new Form11();
oform11.ShowDialog();
}

private void button18_Click(object sender, EventArgs e)


{
SidePanel.Height = button18.Height;
SidePanel.Top = button18.Top;
Form12 oform12 = new Form12();
oform12.ShowDialog();
}

private void button19_Click(object sender, EventArgs e)


{
SidePanel.Height = button19.Height;
SidePanel.Top = button19.Top;
Form13 oform13 = new Form13();
oform13.ShowDialog();
}
}
}

Form 2
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.Threading;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form2 : Form
{
int _charIndex = 0;
int _charIndex2 = 0;
string _text = "admin";
string _text2 = "123";

public Form2()
{
InitializeComponent();
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void button1_Click(object sender, EventArgs e)


{

}
private void TypewriteText()
{
16
while (_charIndex < _text.Length)
{
Thread.Sleep(300);
label4.Invoke(new Action(() =>
{
label4.Text += _text[_charIndex];
}));
_charIndex++;
}
}
private void TypewriteText2()
{
while (_charIndex2 < _text2.Length)
{

Thread.Sleep(300);
label5.Invoke(new Action(() =>
{
label5.Text += _text2[_charIndex2];
}));
_charIndex2++;
}
}

private void button3_Click(object sender, EventArgs e)


{
_charIndex = 0;
_charIndex2 = 0;
label4.Text = "";
label5.Text = "";
Thread t = new Thread(new ThreadStart(this.TypewriteText));
t.Start();
Thread t2 = new Thread(new ThreadStart(this.TypewriteText2));
t2.Start();

}
}
}

Form 3
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.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form3 : Form
{
public int x = 0;

public Form3()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
17
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button3_Click(object sender, EventArgs e)


{
string username;
string pass;

username = textBox1.Text;
pass = textBox2.Text;
if (username == "admin" && pass == "123")
{
MessageBox.Show("Logare cu succes");
this.Close();
x = 0;
}
else
{
MessageBox.Show("Eroare, incercati din nou");
x = -1;
}
}
}
}

Form 4
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form4 : Form
{
string connstring = @"server=.\SQLEXPRESS;
database=Cazare;
18
trusted_connection=true;";
public Form4()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{

private void Form4_Load(object sender, EventArgs e)


{

//Combobox 1 pentru turisti


//dataset
DataSet ds = new DataSet();

//sqlquery
string sqlquery1 = "select (rtrim(NumeTurist)+' '+ltrim(PrenumeTurist)) as Nume from
v_Turisti order by idturist ";

//data adapter
SqlDataAdapter da = new SqlDataAdapter(sqlquery1, connstring);

SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(da);

da.Fill(ds, "v_Turisti");

comboBox1.ValueMember = "IdTurist";
comboBox1.DisplayMember = "Nume";
comboBox1.DataSource = ds.Tables[0];

//Combobox 2 pentru camera

DataSet ds2 = new DataSet();


string sqlquery2 = "select NumarCamera from v_Camera";

SqlDataAdapter da2 = new SqlDataAdapter(sqlquery2, connstring);


SqlCommandBuilder cmdbuilder2 = new SqlCommandBuilder(da2);
da2.Fill(ds2, "v_Camera");

comboBox2.ValueMember = "IdCamera";
comboBox2.DisplayMember = "NumarCamera";

comboBox2.DataSource = ds2.Tables[0];
// string selected_name;
//selected_name="select idTurist from v_turisti
where"+comboBox1.SelectedValue.ToString()+""
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select * from inregistrare";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "inregistrare");

19
DataTable dt = new DataTable();
dt = ds.Tables["inregistrare"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

public void usp()


{
try
{
int local = comboBox1.SelectedIndex;
int local2 = comboBox2.SelectedIndex;
//valoare idcamera
local2++;
//valoare idturist
local++;
SqlConnection conn = new SqlConnection(connstring);
conn.Open();
SqlCommand s = new SqlCommand("select max(idinregistrare)+1 from inregistrare",
conn);
Int32 ress = (Int32)s.ExecuteScalar();
SqlCommand cmd = new SqlCommand("usp_insertTourist", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@IdInregistrare", SqlDbType.Char).Value =
ress.ToString();
cmd.Parameters.AddWithValue("@IdCamera", SqlDbType.Char).Value =
local2.ToString();
cmd.Parameters.AddWithValue("@IdTurist", SqlDbType.Char).Value =
local.ToString(); ;
cmd.Parameters.AddWithValue("@Data_inchirierii", SqlDbType.Date).Value =
dateTimePicker1.Value;
cmd.Parameters.AddWithValue("@Termen_Cazare", SqlDbType.Int).Value =
numericUpDown1.Value;
cmd.Parameters.AddWithValue("@Termen_adaos", SqlDbType.Int).Value =
numericUpDown2.Value;
cmd.Parameters.Add("@rez", SqlDbType.Int).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
conn.Close();
}
catch (Exception e)
{
MessageBox.Show("Error" + e);
throw;
}

private void button2_Click(object sender, EventArgs e)


{

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)

20
{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void button3_Click(object sender, EventArgs e)


{
usp();
}

private void button1_Click_1(object sender, EventArgs e)


{
load_DB();
}
}
}

Form 5
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select * from v_data_expirarii where'" + dateTimePicker1.Value +
"'<data_inchirierii or '" + dateTimePicker1.Value + "'>termen_final";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_data_expirarii");
DataTable dt = new DataTable();
dt = ds.Tables["v_data_expirarii"];
21
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void Form5_Load(object sender, EventArgs e)


{

private void button1_Click(object sender, EventArgs e)


{

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}
}
}

Form 6
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.Diagnostics;
using System.Data.SqlClient;

namespace WindowsFormsApp1
{
public partial class Form6 : Form
22
{
public Form6()
{
InitializeComponent();
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select * from v_CALCUL_Reducere";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_CALCUL_Reducere");
DataTable dt = new DataTable();
dt = ds.Tables["v_CALCUL_Reducere"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Form 7
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
23
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form7 : Form
{
public Form7()
{
InitializeComponent();
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select Turisti.IdTurist, NumeTurist, PrenumeTurist, PatrTurist,
SexTurist, Telefon From Turisti inner join inregistrare on inregistrare.idturist =
turisti.idturist inner join[v_Data_expirarii] on[v_Data_expirarii].[IdTurist] = Turisti.IdTurist
where '" + dateTimePicker1.Value.ToShortDateString() + "' =[v_Data_expirarii].[Termen_Final]";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "Turisti");
DataTable dt = new DataTable();
dt = ds.Tables["Turisti"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button1_Click(object sender, EventArgs e)


{

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

24
private void button10_Click(object sender, EventArgs e)
{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Form 8
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form8 : Form
{
public Form8()
{
InitializeComponent();
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select v_data_expirarii.IdCamera,NumarCamera,Descriere from
v_data_expirarii inner join v_Camera on v_Data_expirarii.IdCamera = v_Camera.IdCamera inner join
v_Camera_type on v_Camera.IdCamera_type = v_Camera_type.IdCamera_type where'" +
dateTimePicker1.Value + "' <data_inchirierii or '" + dateTimePicker1.Value + "'>termen_final";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_data_expirarii");
DataTable dt = new DataTable();
dt = ds.Tables["v_data_expirarii"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

25
private void button3_Click(object sender, EventArgs e)
{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Form 9
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form9 : Form
{
public Form9()
{
InitializeComponent();
}

public void load_DB()


{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select * from v_loc_camera order by Loc_Camera desc";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_loc_camera");
DataTable dt = new DataTable();
26
dt = ds.Tables["v_loc_camera"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
button1.Enabled = true;
}

private void button1_Click(object sender, EventArgs e)


{
Microsoft.Office.Interop.Excel._Application app = new
Microsoft.Office.Interop.Excel.Application();
// se creaza un WorkBook inauntrul Excel
Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);
// se creaza o foaie Excelsheet in workbook
Microsoft.Office.Interop.Excel._Worksheet worksheet = null;
// se activeaza foaia Excelsheet peste program
app.Visible = true;
// se obtine referinta catre foaia ExcelSheet. Default, numele ei este Sheet1.
// depoziteaza referinta catre ExcelSheet
worksheet = workbook.Sheets["Sheet1"];
worksheet = workbook.ActiveSheet;
// Schimbam denumirea foii Excel
worksheet.Name = "Exported from gridview";
// stocarea antetului in Excel
for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
{
worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
}
// stocarea fiecarei linii si coloane in excel sheet
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] =
dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
// salvarea aplicatiei
workbook.SaveAs("E:\\result.xls", Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)

27
{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}

private void Form9_Load(object sender, EventArgs e)


{
button1.Enabled = false;
}
}
}

Form 10
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form10 : Form
{
public Form10()
{
InitializeComponent();
}
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select AVG(Pret_final) as Pret_Mediu_Sejur from v_CALCUL_PRET";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_CALCUL_PRET");
DataTable dt = new DataTable();
dt = ds.Tables["v_CALCUL_PRET"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

28
private void button3_Click(object sender, EventArgs e)
{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Form 11
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form11 : Form
{
public Form11()
{
InitializeComponent();
}

public void load_DB()


{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select Descriere,[Pret/Zi] from v_Camera_type where[Pret/Zi] = (select
Max([Pret/Zi]) from v_Camera_type)";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_Camera_type");
29
DataTable dt = new DataTable();
dt = ds.Tables["v_Camera_type"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

public void load_DB2()


{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = "select Descriere,[Pret/Zi] from v_Camera_type where[Pret/Zi] = (select
MIN([Pret/Zi]) from v_Camera_type); ";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_Camera_type");
DataTable dt = new DataTable();
dt = ds.Tables["v_Camera_type"];
dataGridView2.DataSource = dt;
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView2.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}

private void button1_Click(object sender, EventArgs e)


{
load_DB2();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

30
private void button13_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

Form 12
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form12 : Form
{
public Form12()
{
InitializeComponent();
}

public void load_DB()


{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = @"select Facilitate,[Pret/Zi] as Pret_sejur from camera
inner join camera_type on
camera.idcamera_type = camera_type.idcamera_type
where camera_type.[pret/zi]<=90
group by facilitate,[pret/zi]
union all
select facilitate,[Pret/Zi] as Pret_sejur from camera
inner join camera_type on
camera.idcamera_type=camera_type.idcamera_type
where camera_type.[pret/zi] between '91' and '110'
group by facilitate, [pret/zi]
union all
select facilitate, [Pret/Zi] as Pret_sejur from v_Camera
inner join v_Camera_type on
v_Camera.idcamera_type= v_Camera_type.idcamera_type
where v_Camera_type.[pret/zi] between '110' and '130'
group by facilitate, [pret/zi]
union all
select facilitate, [Pret/Zi] as Pret_sejur from v_Camera
inner join v_Camera_type on
v_Camera.idcamera_type= v_Camera_type.idcamera_type
where v_Camera_type.[pret/zi] between '130' and '200'
group by facilitate, [pret/zi]";

string constring = @"server=.\sqlexpress;


database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
31
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "Camera");
DataTable dt = new DataTable();
dt = ds.Tables["Camera"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

Form 13
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;
using System.Diagnostics;

namespace WindowsFormsApp1
{
public partial class Form13 : Form
{
public Form13()
{
InitializeComponent();
}
32
public void load_DB()
{
//string data = textBox1.Text.ToString();
//DateTime parsedDate = DateTime.ParseExact(data,"dd/mm/yyyy",null);
string sql = @"select * from v_CALCUL_Total order by IdTurist";
string constring = @"server=.\sqlexpress;
database=Cazare;
trusted_connection=true;";
try
{
SqlConnection conn = new SqlConnection(constring);
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "v_CALCUL_Total");
DataTable dt = new DataTable();
dt = ds.Tables["v_CALCUL_Total"];
dataGridView1.DataSource = dt;
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
catch (Exception e)
{

MessageBox.Show("Error" + e);
}
}

private void button3_Click(object sender, EventArgs e)


{
load_DB();
}

private void button8_Click(object sender, EventArgs e)


{
Process.Start("http://www.Facebook.com");
}

private void button9_Click(object sender, EventArgs e)


{
Process.Start("http://www.Twitter.com");
}

private void button10_Click(object sender, EventArgs e)


{
Process.Start("http://www.Instagram.com");
}

private void button11_Click(object sender, EventArgs e)


{

private void button13_Click(object sender, EventArgs e)


{
this.Close();
}
}
}

33
Ghid de utilizare a aplicaţiei

Produsul cu care este constituită aplicaţia.

Aplicaţia este constituită în limbajul C#, în mediul de lucru Visual Studio. Cu toate acestea, întrucât
aplicaţia este constituită anume pentru lucrul cu bazele de date, se presupune că are acces la un scenariu al
bazei de date, care, în cazul dat, a fost realizat în SSMS (SQL Server Management Studio).

Cerinţe minime hardware/software

SO: Windows 8.1 64 Bit, Windows 8 64 Bit, Windows 7 64 Bit Service Pack 1, Visual Studio, SSMS
2016
Procesor: Intel Core i5 3470 @ 3.2 GHz (4 CPUs) / AMD FX-8350 @ 4 GHz (8 CPUs)
RAM: 8 GB

Erori posibile

Este posibilă apariţia unei erori la punctul 6 din sarcinile individuale, şi anume la exportul în Excel.
Întrucât nu toţi au versiunea de Microsoft Office activată, este posibi ca datele să nu fie exportate în
Excel.

Concluzie
În concluzie pot spune că stagiul de practică a decurs cu succes. Am realizat în termenii stabiliţi toate
sarcinile, şi am creat o interfaţă frumoasă aplicaţiei pentru comoditatea utilizatorului.
Într-un final, am însuşit multe lucruri din domeniul programării, mai ales datorită elaborării aplicaţiei în
limbajul de programare C# şi în mediul rapid de dezvoltare a aplicaţiilor Visual Studio. Am învăţat multe
lucruri noi, cum ar fi prelucrarea unor evenimente care sunt mai complexe, crearea și analizarea diferitor
componente (ComboBox,DataGridView), încărcarea cu rezultatele unui query a unui combobox,
conectarea cu bazele de date ,implementarea diferitor biblioteci din mediul de lucru Visual Studio pentru
a putea lucra cu limbajul T-SQL. Sarcinile individuale nu au fost uşoare, însă au fost duse până la capăt
cu succes, iar problemele ce au apărut în cale au fost depăşite.
După părerea mea, practica tehnologică constituie o etapă importantă, deoarece ne învaţă cum să ne
pregătim eficient pentru o eventuală carieră în domeniul IT.

34
Bibliografie
1. Constantin Gălăţan, Susana Gălăţan . Curs de C# : programare in Visual C# 2008 Express Edition.
Editura L & S Info-mat Bucureşti ,2008
2. https://www.c-sharpcorner.com
3. https://www.w3schools.com/sql/sql_union.asp
4. https://stackoverflow.com
5. http://cplusplus.com

35

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