Sunteți pe pagina 1din 28

Cuprins: ntroducere............................................................................................................... 2 1. Sarcina tehnic i prezentarea general a mediului ales i a sistemului de calcul ......................................................................................................................... 3 1.1 Sarcina tehnic.........................................................................................3 1.

2 Descrierea sistemului de calcul pe care aplicatia va lucra ................. 3 1.3 Prezentarea general a mediului de programare ales .............................. 4 1.3.1 Caracteristicile generale a limbajului de programare C#. ......... 4 1.3.2 Descrierea componentelor folosite la elaborarea programului . 9 1.4 MySql. Noiuni generale .......................................................................................... 14 2 Descrierea aplicaiei ........................................................................................... 16 2.1Prezentarea general a programului .................................................................... 16 2.2 Funciile de baz ale programului ...................................................................... 16 2.2.1 Fereastra de baz i vizualizarea tabelelor ............................... 16 2.2.2 Crearea i modificarea nregistrrilor ...................................... 17 2.2.3 tergerea nregistrrilor ............................................................ 20 2.2.4 Vizualizare informaii despre studeni ..................................... 21 2.3Funciile de baz ale programului - Utilizator ............................................. 22 2.3.1 Vizualizarea informaiei despre studentul logat i testele activ e .................................................................................................. 22 2.3.2 Susinerea testelor i obinerea rezultatelor. ............................. 23 2.4Baza de date ............................................................................................ 24 2.4.1 Structura bazei de date folosite................................................. 24 2.4.2 Algoritmul de interogare a bazei de date.................................. 25 Concluzii ............................................................................................................ 27 Bibliografie ........................................................................................................ 27 Anexa 1: Programul elaborat Anexa 2: Memoriul explicativ Anexa 3: Prezentarea Power-Point

ntroducere
Orice profesor efectueaz teste necesare pentru evaluarea cunotinelor studenilor. Pentru simplificarea acestui lucru poate fi utilizat o baz de date, care va i nclude toate ntrebrile. Pentru gestionarea informaiei din aceast baz de date este nevoie de a utiliza un soft special elaborat pentru baza de date n cauz. C# este un limbaj de programare ce satisface practic toate aceste necesiti, este comfortabil, rapid n prelucrarea datelor ce se afl pe o band de date, aplicaiile soft n C# sunt uor transportabile. Scopul lucrrii de curs este elaborarea unui soft ce va permite crearea rapid i eficient a acestor teste. Pentru atingerea acestui scop au fost efectuai urmtorii pai: 1. Cercetarea surselor bibliografice; 2. Proiectarea structurei bazei de date; 3. Elaborarea interfeei grafice pentru utilizator cu o inalt comoditate de utilizare; 4. Realizarea conexiunii ntre interfa i baz de date cu un funcional bun.

1. Sarcina tehnic i prezentarea general a mediului ales i a sistemului de calcul


1.1 Sarcina tehnic n cadrul proiectului de curs ca sarcin tehnic a fost propus tema elaborrii unei aplicaii interactive pentru testarea cunotinelor la programarea calculatoarelor. Aplicaia ndeplinete urmtoarele funcii: Crearea testelor Editarea testelor Crearea grupelor Editarea grupelor Crearea a 2 tipuri de utilizatori: profesor/ student Crearea a 2 interfete: adminstrator/ utilizator Extragerea tabele excel cu studenti

1.1 Descrierea sistemului de calcul pe care aplicatia va lucra Aplicaia este conceput pentru a funciona n cadrul reelei locale cu sisteme de operare Windows Xp sau a unora mai noi. Este obligatoriu instalarea windows .NET framework 4 i mySql Connector/.NET 6.4.3. De asemenea pentru extragerea fiierelor excel, este necesar prezena bibliotecilor pe calculator. Calculatorului i se impun urmtoarele cerine: 1. Procesor cu frecvena de ceas >1.5 GHz; 2. 512 MB memorie ram; 3. Plac video; 4. Plac de reea; 5. Memorie liber pe hard disk de 2 Mb; 6. SO Windox XP i mai noi.
3

Mediul de dezvoltare pentru aceast aplicaie a fost ales dup mai multe criterii. n primul rnd ar trebui s fie un limbaj de programare familiar, care ofer un set bogat de caracteristici pentru realizarea sarcinii. Pe de alt parte, produsul trebuie s fie unul gratuit, astfel nct s nu ncalc termenii de licen a programului. Pentru SO Windows o hotrre ar fi Visual C# 2010 Express. Aceast versiune reprezint versiunea Lite a mediului de dezvoltare Visual Studio 2010 i e rsndit gratuit. 1.2 Prezentarea general a mediului de programare ales 1.3.1 Caracteristicile generale a limbajului de programare C# Lansat publicului n iunie 2000 i oficial n primvara anului 2002, C# este un limbaj de programare care combin faciliti testate de-a lungul timpului cu inovaii de ultim moment. Creatorii acestui limbaj au fost o echip de la firma Microsoft condus de Anders Hejlsberg. Dei limbajul este creat de Microsoft, acesta nu este destinat doar platformelor Microsoft. Compilatoare C# exist i pentru alte sisteme precum Linux sau Macintosh. Creat ca instrument de dezvoltare pentru arhitectura .NET, limbajul ofer o modalitate facil i eficient de a scrie programe pentru sistemul Windows, internet, componente software etc. C# deriva din dou dintre cele mai de succes limbaje de programare: C si C++. De asemenea, limbajul este o rud apropiat a limbajului Java. De la C, C# motenete sintaxa, multe din cuvintele cheie i operatorii. De asemenea, C# construiete peste modelul de obiecte definit n C++. Relaia dintre C# si Java este mai complicat. Java deriv la rndul su din C i C++. Ca i Java, C# a fost proiectat pentru a produce cod portabil. Limbajul C# nu deriv din Java. ntre C# i Java exista o relaie similar celei dintre veri, ele deriv din acelai strmo, dar deosebindu-se prin multe caracteristici importante. Limbajul C# conine mai multe faciliti novatoare, dintre care cele mai importante se refer la suportul incorporat pentru componente software. C# dispune de faciliti care implementeaz direct elementele care alctuiesc componentele
4

software, cum ar fi proprietile, metodele i evenimentele. Poate cea mai important facilitate de care dispune C# este posibilitatea de a lucra ntr-un mediu cu limbaj mixt.

C# are o legtur deosebit cu mediul su de rulare, arhitectura .NET. Pe de o parte, C# a fost dezvoltat pentru crearea codului pentru arhitectura .NET, iar pe de alt parte bibliotecile utilizate de C# sunt cele ale arhitecturii .NET. Arhitectura .NET definete un mediu de programare care permite dezvoltarea i execuia aplicaiilor indiferent de platform. Aceasta permite programarea n limbaj mixt i ofer faciliti de securitate i portabilitate a programelor. Este disponibil deocamdat pentru platformele Windows. Legat de C#, arhitectura .NET definete dou entiti importante i anume biblioteca de clase .NET i motorul comun de programare sau Common Language Runtime (CLR). C# nu are o bibliotec de clase proprie ci utilizeaz direct biblioteca de clase .NET. De exemplu, cnd se ruleaz un program care efectueaz operaii de intrare-ieire, cum ar fi afiarea unui text pe ecran, se utilizeaz biblioteca de clase .NET. Motorul comun de programare (CLR) se ocupa de execuia programelor C#. El asigur de asemenea programarea n limbaj mixt, securitatea i portabilitatea programelor. Atunci cnd este compilat un program C#, sau un program n limbaj mixt, rezultatul compilrii nu este un cod executabil. n locul acestuia, se produce un fiier care conine un tip de pseudocod numit limbaj intermediar sau pe scurt IL (Intermediate Language). Acest fiier IL poate fi copiat n orice calculator care dispune de .NET CLR. Prin intermediul unui compilator denumit JIT (Just In Time), motorul comun de pogramare transform codul intermediar n cod executabil. Procesul de conversie decurge astfel: atunci cnd un program .NET este executat, CLR activeaz compilatorul JIT. Compilatorul JIT convertete IL n cod executabil pe masur ce fiecare parte a programului este necesar. n concluzie,
5

orice program compilat pn n format IL poate rula n orice mediu pentru care CLR este implementat. n acest fel arhitectura .NET asigura portabilitatea. Principiile programrii orientate pe obiect Metodologiile de programare s-au modificat continuu de la apariia calculatoarelor pentru a ine pasul cu mrirea complexitii programelor. Pentru primele calculatoare programarea se fcea introducnd instruciunile main scrise n binar. Pe masur ce programele au crescut s-a inventat limbajul de asamblare, n care se puteau gestiona programe mai mari prin utilizarea unor reprezentari simbolice ale instructiunilor main. Cum programele continuau s creasc, s-au introdus limbaje de nivel nalt, precum FORTRAN i COBOL, iar apoi s-a inventat programarea structurat. POO a preluat cele mai bune idei de la programarea structurat, combinndu -le cu concepte noi. A rezultat o modalitate diferit de a organiza un program. n fapt, un program poate fi organizat n doua moduri: n jurul codului (mod de lucru descris de sintagma codul actioneaza asupra datelor, valabil n cazul programrii structurate) sau n jurul datelor (abordare descris de sintagma datele controleaza accesul la cod, valabil n cazul programrii orientate pe obiect). Toate limbajele POO au patru caracteristici comune: incapsularea, polimorfismul, motenirea i reutilizarea. Incapsularea Incapsularea este un mecanism care combin codul i datele pe care le manipuleaz, meninnd integritatea acestora fa de interferena cu lumea exterioara. Incapsularea mai este numit i realizarea de cutii negre, ntruct se ascunde funcionalitatea proceselor. Cnd codul i datele sunt incapsulate se creaz un obiect. n cadrul unui obiect, codul i datele pot fi publice sau private. Codul i datele private sunt accesibile doar n cadrul aceluiai obiect, n timp ce codul i datele publice pot fi utilizate i din pri ale programului care exist n afara acelui obiect.

Unitatea fundamental de incapsulare este clasa. Clasa specific datele i codul care opereaz asupra datelor. O clas definete forma unui obiect. Sau altfel spus, o clas reprezint o matrice, iar un obiect reprezint o instan a clasei. Polimorfismul Polimorfismul este calitatea care permite unei interfee s aib acces la un grup generic de aciuni. Termenul este derivat dintr-un cuvnt grecesc avand semnificaia cu mai multe forme. Spre exemplu, s presupunem c avem o nevoie de o routin care sa returneze aria unei forme geometrice, care poate fi un triunghi, cerc sau trapez. ntruct ariile celor trei forme se calculeaz diferit, routina trebuie s fie adaptat la datele pe care le primete nct s disting despre ce fel de form este vorba i s returneze rezultatul corect. Conceptul de polimorfism este exprimat prin sintagma o singura interfaa mai multe metode. Motenirea Motenirea este procesul prin care un obiect poate dobndi caracteristicile altui obiect. Analogia cu conceptul de animal este elocvent. Spre exemplu, s considerm o reptil. Aceasta are toate caracteristicile unui animal, ns n plus are i o alt caracteristic, i anume: sngele rece. S considerm un arpe. Acesta este o reptil lunga i subire care nu are picioare. arpele are toate caracteristicile unei reptile, nsa posed i propriile sale caracteristici. Aadar, un arpe motenete caracteristicile unei reptile. O reptil motenete caracteristicile unui animal. Aadar, mecanismul motenirii este cel care face posibil ca un obiect s fie o instan a unui caz mai general. Reutilizarea Atunci cnd este creat o clas, aceasta poate fi utilizat pentru a crea o mulime de obiecte. Prin utilizarea motenirii i incapsulrii clasa amintit poate fi reutilizat. Nu mai este nevoie s testm codul respectiv ci doar s l utlizm corect. Crearea, compilarea i execuia programelor C#. Exemple; S considerm urmtorul program C# simplu:
7

/* Acesta este un program simplu n C# Denumiti programul: Example1.cs */ using System; class Example1 { //orice program n C# conine metoda Main() public static void Main() { Console.WriteLine("Acesta este primul meu program n C#"); } } Exista dou moduri de a edita, compila i rula un program n C#. n primul rnd se poate utiliza compilatorul linie de comand csc.exe. A doua posibilitate este de a utiliza mediul Visual Studio .NET. n primul caz trebuie parcuri urmtorii pai: introducei textul programului cu ajutorul unui editor de texte i salvai fiierul utiliznd extensia cs, spre exemplu Example1.cs; apoi compilai programul preciznd numele fiierului n linia de comand (C:\>csc Example1.cs); n final rulai programul n linia de comanda (C:\>Example). n cel de-al doilea caz creai un nou proiect C# selectnd: File|New|Project, apoi Visual C# Projects|Empty Project. Dup ce ai creat proiectul, executai click dreapta pe fereastra Solution. Utiliznd meniul aprut selectai Add apoi Add New Item | Local Project Items| C# Code File. Introducei textul, salvai proiectul, compilai proiectul selectnd Build i n fine rulai programul selectnd Start Without Debugging din meniul Debug. 1.3.2 Descrierea componentelor de baz folosite la elaborarea programului La elaborarea programului au fost folosite urmtoarele componente standard ale mediului de programare: Butonul este un control, care este o component, interactiv, care permite utilizatorului s comunice cu o aplicaie. Chenarul i fundalul unui buton se poate
8

schimba n funcie de starea butonului. n urmtoarea ilustraie, primul buton indic starea implicit, iar al doilea buton prezint o culoarea a chenarului schimbat, ceea ce indic c cursorul se afl pe buton. Butonul filan arat c, att chenarul ct i fundalul s-au schimbat. Acest lucru se ntmpl cnd utilizatorul face clic atunci cnd cursorul se afl pe buton.

Fig. 1.1 Cele 3 stri ale unui buton

ComboBox este o interfa utilizator (UI), element care prezint utilizatorului o list de opiuni. Coninutul poate fi artat i ascuns. n stare implicit lista cu opiuni este restrns, afinduse doar o alegere. Utilizatorul face clic pe un buton pentru a vedea lista complet de opiuni.

Fig. 1.2 Strile ComboBox-ului CheckBox este un cotrol ce permit utilizatorului selectarea i golirea opiunilor ntr-o aplicaie cu interfa utilizator. Un control CheckBox este un control de coninut , ceea ce nseamn c poate conine text, imagini, sau panouri. Acesta permite comutarea ntre selecii. Controlul CheckBox selectat este indicat printr-un marcaj de selectare. Atunci cnd un utilizator face clic pe un CheckBox, acesta i schimb aspectul i starea.
9

Fig. 1.3 Strile CheckBox-ului Un TabControl conine elemente TabItem cu headere (titluri), care identific coninutul paginii tab. TabControl este util pentru reducerea la minim utilizarea spaiului de ecran, permind n acelai timp aplicaiei de a expune o cantitate mare de date.Utilizator navigheaz prin elementele fcnd clic pe tab-uri folosind mouse-ul sau cu ajutorul tastaturii:

Fig. 1.4 TabControl Un MessageBox este o caseta de dialog modal prefabricat, care afieaz un mesaj text la un utilizator. Putei afia o caset de mesaj prin apelarea metodei Show static a clasei MessageBox.Mesaj de tip text care se afieaz este argumentul string care va trece la Show. Mai multe suprasarcini de metoda Show, de asemenea, v permite s furnizai o bara de titlu. Pentru a permite unui utilizator de a nchide o caset de mesaj, Show afieaz o caset de mesaj care are un buton OK i butonul nchidere n bara de titlu. Putei folosi, de asemenea, un MessageBox pentru a ntreba utilizatorul. Utilizatorul rspunde fcnd clic pe unul din mai multe butoane pe care le specificai pentru a afia, prin utilizarea enumerrii MessageBoxButton. Putei trece aceast enumerare la mai multe suprasarcini metodei Show.Valoarea implicit a enumerrii MessageBoxButton este OK.

10

Putei determina pe care buton utilizatorul a fcut clic prin examinarea valorii care revine Show. Valoarea returnata este o valoare de enumerare MessageBoxResult, n cazul n care fiecare valoare echivaleaza cu unul din butoanele care un MessageBox poate afia. Valoarea implicit pentru caseta de mesaj este OK, deoarece OK este implicit caseta de buton. Cu toate acestea, unele suprasarcini de metoda Show v permit s oferii o alt valoare MessageBoxResult implicit. MessageBox-urile pot comunica informaii i pot pune ntrebri, care au diferite grade de importan. MessageBox-urile folosesc pictograme pentru a indica importana. De exemplu, pictograme pot indica dac mesajul este informativ, este un avertisment, sau este important.Enumerarea MessageBoxImage incapsuleaza setul de pictograme posibile casetei de mesaj. n mod implicit, un MessageBox nu afieaz o pictogram. Cu toate acestea, se poate trece o valoare

MessageBoxImage la unul din mai multe suprasarcini ale metodei Show n scopul de a preciza c caseta de mesaj include o pictogram. MessageBox-rile au ntotdeauna o fereastr proprietar. n mod implicit, proprietarul de MessageBox-ului este fereastra care este n prezent activ ntr-o cerere, la momentul n care un MessageBox este deschis. Cu toate acestea, avei posibilitatea s specificai un alt proprietar pentru fereastra folosind una din mai multe suprasarcini Show.

Fig. 1.6 MessageBox

11

TextBox este folosit pentru afiarea datelor introduse de la tastier.Dei deobicei acesta este utiliat pentru text editabil, el poate fi setat i n mod numai citire. TextBox-ul poate afia mai multe linii i permite formatarea general a textului.

Fig. 1.7 TextBox Cnd un utilizator mic indicatorul mouse-lui peste un element care are un Tooltip,apare o fereastr cu coninut tooltip( spre exemplu descrierea funciei pe care o ndeplinete) pentru o anumit perioad de timp. n cazul n care utilizatorul deplaseaz indicatorul mouse-lui, fereastra dispare. Urmtoarea imagine arat un cursor, care indic pe un buton de nchidere, care afieaz apoi un tooltip coninut:

Fig. 1.8 ToolTip

Cotrolul DataGridView ofer un tabel personalizabil pentru afiarea datelor. Clasa DataGridView permite personalizarea de celule, rnduri, coloane, chenare i prin utilizarea de proprieti cum ar fi DefaultCellStyle, ColumnHeadersDefaultCellSyle, CellBorderStyle i GridColor. Avei posibilitatea s utilizai un control DataGridView pentru a afia date, cu sau fr o surs de baz de date. Fr a preciza o surs de date, avei posibilitatea de
12

crea coloane i rnduri care conin date i adugaile direct la DataGridView folosind proprietile rndurilor i coloanelor. Putei folosi, de asemenea, colecii de rnduri pentru a accesa obiectele DataGridViewRow i de proprietatea DataGridViewRow.Cells pentru a citi sau scrie valori direct n celule. Indexul obiectului de asemenea permite accesarea direct la celul. Ca o alternativ a populrii manuale, putei seta proprietile DataSource i

DataMember pentru a lega DataGridView la o susrs de date i automat s populai cu date. Atunci cnd se lucreaz cu cantiti mari de date, avei posibilitatea s setai proprietatea VirtualMode pentru a afia un subset de date disponibile. Modul virtual necesit punerea n aplicare a unui cache de date de la care controlul DataGridView este populat automat.

Fig. 1.9 DataGridView populat automat Eticheta furnizeaz, de obicei, informaii n interfaa utilizator (UI). Eticheta este un cotrol de coninut, el poate s conin fie text fie un UI Element. O etichet ofer att sprijin funcional ct i vizual pentru cheia de acces. Acesta este frecvent folosit penru a permite accesul rapid la alt control cum ar fi un TextBox. Pentru a atribui o etichetp la un control, seta i proprietatea Label.Target la controlul care ar trebui s se activeze cnd utilizatorul apas cheia de acces.

Fig. 1.10 Label

13

Componenta SaveFileDialog permite utilizatorilor s navigheze sistemul de fiiere i s selecteze fiiere pentru a fi salvate. Caseta de dialog returneaz calea i numele fiierului selectat de utilizator, n caseta de dialog.

Fig. 1.11 SaveFileDialog

1.4 MySql. Noiuni generale MySQL este un sistem de gestiune a bazelor de date relaional, produs de compania suedeza MySQL AB i distribuit sub Licena Public General GNU. Este cel mai popular SGBD open-source la ora actual, fiind o component cheie a stivei LAMP (Linux, Apache, MySQL, PHP). Dei este folosit foarte des mpreun cu limbajul de programare PHP, cu MySQL se pot construi aplicaii n orice limbaj major. Exist multe scheme API disponibile pentru MySQL ce permit scrierea aplicaiilor n numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfa de tip ODBC denumit MyODBC permite altor limbaje de programare ce folosesc aceast interfa, s interacioneze cu bazele de date MySQL cum ar fi
14

ASP sau Visual Basic. n sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul crora respetivele limbaje s poat folosi acest SGBD mult mai uor dect prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale. Licena GNU GPL nu permite ncorporarea MySQL n softuri comerciale; cei care doresc s fac acest lucru pot achiziiona, contra cost, o licen comercial de la compania productoare, MySQL AB. MySQL este component integrat a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicaie web este strns legat de cea a PHP-ului care este adesea combinat cu MySQL i denumit Duo-ul Dinamic. n multe cri de specialitate este precizat faptul ca MySQL este mult mai uor de invat i folosit dect multe din aplicaiile de gestiune a bazelor de date, ca exemplu comanda de ieire fiind una simpl i evident: exit sau quit. Pentru a administra bazele de date MySQL se poate folosi modul linie de comand sau, prin descrcare de pe internet, o interfa grafic: MySQL Administrator i MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicaia gratuit, scris n PHP, phpMyAdmin. MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.

15

Descrierea aplicaiei
2.1 Prezentarea general a programului

Efectuarea testelor, precum i verificarea lor este un lucru foarte voluminos, care reprezint o parte important a oricrui process didactic. Pentru a simplifica aceast munc, am proiectat acest program care permite crearea testelor, susinerea de ctre elevi precum i rezultatelor. Datorit faptului c toat returnarea imdeiat a informaia este se presupune c va fi

depozitat pe un calculator server" toi utilizatorii, care au acest program pot vizualiza informaia n acelai timp. Pentru a lucre cu programul utilizatorul introduce numele i parola n fereastra de logare:

Fig. 2.0. Fereastra de logare 2.2 Funciile de baz ale programului - Administrator Funciile de baz ale programului sunt urmtoarele: 1. Vizualizarea tabelelor; 2. Crearea i modificarea nregistrrilor; 3. tergerea nregistrrilor; 4. Vizualizare informaii despre studeni; 2.2.1 Fereastra de baz i vizualizarea tabelelor Fereastra de baz a programului include 3 zone:
16

1. Teste 2. Utilizatori 3. Grupe

Fig. 2.1 Fereastra de baz

2 sau element de tip DataGridView(pag. 13). Fiecare zon include cte un tabel
222221312313 Deasemenea deasupra fiecrui din tabele se afl cte un set de butoane.

2.2.2 Crearea i modificarea nregistrrilor Crearea nregistrilor se efectuiaz fcnd click pe butonul:

Fig. 2.2 Crearea nregistrrilor

17

n dependen de poziia butonului, va aprea una din 3 ferestre posibile. Astfel fcnd click pe butonul dat, de deasupra tabelului cu teste, va aprea urmtoarea fereastr:

Fig. 2.3 Adugarea testelor. n aceast fereastr se introduce denumirea testului, dup care se introduce fiecare ntrebare, n parte. Exist 3 tipuri de ntrebri: - Adevrat/fals; - Rspuns unic; - Rspuns multiplu; Testul conine 10 ntrebri, pentru fiecare ntrebare se indic textul ntrebrii, tipul, punctajul, variantele de rspuns i rspunsul corect. Fcnd click pe butonul + de deasupra tabelului Grupe, apare urmtoarea fereastr:

18

Fig. 2.4. Fereastra de adugare a grupelor Aici se indic denumirea grupei i id-ul ei. Fcnd click pe ultimul butonu +, apare cea de a 3-a fereastr, de creare a utilizatorilor:

Fig. 2.5. Fereastra de adugare a utilizatorilor n aceast fereastr se indic numele i prenumele, nume utilizator i parol precum i tipul utilizatorului i grupa, n cazul n care utilizatorul este student. Modificarea nregistrrilor se face cu butonul:

Fig. 2.6. Editarea nregistrrilor n dependen de poziia butonului pe care ai fcut click apare una din cele 3 ferestre afiate anterior, numai c n acest caz casetele sunt completate. Acest fapt se datoreaz transmiterii parametrului cu Id n fereastra nou creat:
test form = new test(); form.Id = Convert.ToInt32(dgv3.CurrentRow.Cells["id"].Value); mySqlConnection.Close(); form.Show();

Dup cum vedem n fereastra form, prin parametrul Id este transmis Id-ul testului care este editat.
19

Dup ce efectum schimbrile, facem click pe butonul salvat n baza de date. 2.2.3 tergerea nregistrrilor

i informaia este

Atunci cnd dorim s tergem o nregistrare n unul din cele 3 zone, facem click pe butonul din zona respectiv..

Atunci cnd facem clic pe butonul de tergere din zona Utilizatori se execut urmtoarea rutin de tratare a evenimentului:
private void button7_Click(object sender, EventArgs e) { mySqlConnection = new MySqlConnection( "SERVER=localhost;" + "DATABASE=dbase;" + "UID=root;" + "PASSWORD=rootg6e5f15;" + "Persist Security Info=True;"); mySqlConnection.Open(); string query = "SELECT users.`id`,users.`name` AS Nume_si_prenume,class.`name` AS Grupa from users LEFT JOIN class ON users.`class_id`=class.`id`"; mySqlDataAdapter = new MySqlDataAdapter(query, mySqlConnection); mySqlCommandBuilder = new MySqlCommandBuilder(mySqlDataAdapter); dataTable = new DataTable(); int id = Convert.ToInt32(dgv1.CurrentRow.Cells["id"].Value); if (MessageBox.Show("Sigur dorii s tergei nregistrarea '" + id + "'? ", "", MessageBoxButtons.YesNo) == DialogResult.Yes) { mySqlConnection.Open(); string q = "DELETE FROM users WHERE id='" + id + "'"; MySqlCommand cmd = new MySqlCommand(q, mySqlConnection); cmd.ExecuteNonQuery(); mySqlConnection.Close(); connect(); } }

Aceast rutin creaz un MessageBox:

20

Fig. 2.7. tergerea nregistrrii Dac facem clic pe butonu Yes, nregistrarea este tears din baz de date, iar datele din dgv sunt remprosptate cu ajutorul metodei Connect. 2.2.4 Vizualizare informaii despre studeni Pe lng vizulaizarea informaiei din tabelele formei de baz, fcnd click pe butonul , putem vedea informaii detaliate despre studeni:

Fig. 2.8. Fereastra Raport n aceast fereastr noi putem vizualiza informaia despre rezultatele studenilor la teste. Putem filtra studenii dup cmpul Grupa, precum i putem gsi un student anumit, introducnd numele i prenumele acestuia n caseta de cutare.

Cu ajutorul butonului

, putem extrage tabelul n fiier excel.


21

Fig. 2.9. Fereastra de extragere a fiierului excel n fig. 2.9 vedem fereastra care apare odat, ce facem click pe butonul din fereastra Rapoarte, aici dm denumire fiierului i facem click pe butonul Save. 2.3 Funciile de baz ale programului - Utilizator Programul utilizator are 2 funcii: 1. Vizualizarea informaiei despre studentul logat i testele active; 2. Susinerea testelor i obinerea rezultatelor. 2.3.1 Vizualizarea informaiei despre studentul logat i testele active Atunci cnd utilizatorul se logheaz n regim utilizator, apare urmtoarea fereastr:

Fig. 2.10. Fereastra utilizator


22

n aceast fereastr utilizatorul logat, poate vedea rezultatele testelor deja susinute, precum i lista testelor care sunt active i disponibile pentru a fi susinute. 2.3.2 Susinerea testelor i obinerea rezultatelor. Pentru a susine un teste, selectai testul i facei click pe butonul susine test:

Fig. 2.11. Apare urmtoarea fereastr:

23

Fig. 2.12. Susinerea testului n aceast fereastr sunt 10 ntrebri, dup ce alegei toate rspunsurile, facei click pe butonul i obinei rezultatul:

Fig.2.13 Obinerea rezultatului la test. 2.4Baza de date

2.4.1Structura bazei de date folosite


Baza de date dbase include 4 tabele: Users: id(cheia) user(nume utilizator) pass(parola) type(tip utilizator) class_id(id grup) Name(Nume i prenume utilizator)
24

Pe lng aceste cmpuri, adminsitratorul adaug cmpuri noi, care reprezint testele create. Astfel numrul de cmpuri din acest tabel poate este 6 + numrul testelor.

Class(grupe): id(cheia) Name(denumire grup). Qname(lista testelor): id(cheia) Name(denumire test) Status(statut test). Quiz_list(lista ntrebrilor): id(cheia) Name(text ntrebare) Type(tip ntrebare) Ans1(primul rspuns) Ans2(al 2-lea rspuns) Ans3(al 3-lea rspuns) Ans4(al 4-lea rspuns) Correct(rspunsul corect) Points(punctaj) Qname_id(id-ul testului la care face parte ntrebarea).

2.4.2 Algoritmul de interogare a bazei de date Pentru a crea legtura cu baza de date se folosete o referin special MySql Connector .Net versiunea 6.4.3. Datorit acestei referine noi putem crea instane a claselor, care efectuiaz conexiunea cu baza de date. Pentru a interoga baza de date mai nti trebue s deschidem o conexiune cu ajutorul instanei clasei
25

MySqlConnection, n care specificm denumirea bazei de date, serverul,numele i parola utilizatorului.


mySqlConnection = new MySqlConnection( "SERVER=localhost;" + "DATABASE=dbase;" + "UID=root;" + "PASSWORD=rootg6e5f15;" + "Persist Security Info=True;"); mySqlConnection.Open();

Dup ce am creat o conexiune i am deschis-o, se creaz interogarea propriu zis cu ajutorul unei variabile de tip string i o instan a clasei MySqlDataManager. Aceast instan primete i reine datele obinute de la baza de date.
string query = "SELECT name,id FROM users"; mySqlDataAdapter = new MySqlDataAdapter(query, mySqlConnection);

Odat ce am obinut datele, populm cu ele un obiect de tip DataTable, care poate fi surs de date pentru multiple componente ca DataGridView sau TextBox.
dataTable = new DataTable(); mySqlDataAdapter.Fill(dataTable);

26

Concluzie Proiectul dat reprezint un software destinat elaborrii i susinerii testelor la Programarea Calculatoarelor, dei acesta poate crea teste pentru orice alt obiect. La elaborarea acestui program am folosit limbajul de programare orientat-obiect C#. Mediul de programare ales este gratuit i nu impune restricii privind softwareul de zvoltat, deasemenea este un instrument foarte puternic pentru dezvoltarea software-ului, att gratuit ct i comercial. Programul a fost testat cu success pe mai multe calculatoare. S-a dovedit, c funcioneaz i pe calculatoarele cu parametrii mai slabi dect cei enumerai la nceputul memoriului, dei mai lent. Pentru a lucre cu programul sunt suficiente cunotinele de baz a calculatorului la nivel de utlizator mediu.

27

Bibliografie 1. Essential C# 4.0 de Mark Michaelis 2010 2. C# in Depth de Jon Skeet 2008 3. A Programmer's Introduction to C# de Eric Gunnerson 2000

4. Programming C# de Jesse Liberty 2010

28

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