fbpx

Functii uzuale pentru baza de date in C#

0

In acest articol vom trata un subiect care nu tine neaparat de C#, dar ne va fi foarte folositor pentru a crea programe C# sau a rezolva subiecte de la olimpiada de C# care au in componenta lor o baza de date. Vom vorbi despre functiile uzuale pentru baza de date in C#. Cele mai importante sunt functia SELECT, INSERT, DELETE si UPDATE. Vom discuta pe rand despre fiecare, cum se foloseste, sintaxa teoretica si aplicabilitatea propriu-zisa a functiei.

Structura la o baza de date

Pentru a incepe cu functiile trebuie sa lamurim structura bazei de date. Baza de date este formata din linii si coloane. Pentru a putea insera in baza de date va trebui sa tinem cont de aceste linii si coloane. O sa pun mai jos o imagine care arata exact are sunt linii care coloane si valorile uzuale folosite in programe pentru acestea. Culoarea rosie reprezinta linie, iar cea albastra coloana

reprezentare linie coloana baza de date
reprezentare linie coloana baza de date

 

Functia SELECT

Cu acesta functie putem selecta orice informatie din baza de date. Sintaxa pentru a o folosi este:

Prima sintaxa ne permite selectarea totala a datelor din baza de date, mai precis, nu are niciun fel de filtrare, comparativ cu cea de-a doua sintaxa care este filtrata prin WHERE, adica functia va cauta in baza de date doar daca exista un camp care sa indeplineasca conditiile impuse de noi. De exemplu, daca avem anumite id-uri unice pentru fiecare utilizator si dorim sa preluam numele utilizatorului cu ID-ul impus de noi vom folosi:

Ne va cauta IdUtilizator cu valoare 2 si ne va permite sa preluam orice de pe acea linie.

Aplicabilitatea propriu-zisa a functiei SELECT:

In programele pe care le vom crea nu vom putea folosi doar functia si programul sa ne selecteze pur si simplu ce avem nevoie. In primul rand, trebuie sa avem o conexiune la baza de date, pentru a sti din ce baza de date sa luam informatia. In al doilea rand, functia select vine la pachet cu inca cateva functii, nu foarte grele, dar foarte importante, functiile pe care le vom folosi noi sunt SqlDataReader si SqlCommand, acestea permit apelarea Selectiei (SqlCommand) si citesc in baza de date (SqlDataReader). SqlDataReader poate fi folosit cu if sau cu while. Vom folosi if, in cazul in care vom extrage doar un set de date, iar while cand vom avea nevoie de mult mai multe date.

 

Functia INSERT

Cu aceasta functie vom putea insera in baza de date. Sintaxa este intuitiva, deci nu e foarte greu de retinut, trebuie doar putina atentie.

Coloane pot fi alese, nu este neaparat sa inseram in coloana1, iar apoi sa inseram in coloana2. Daca avem nevoie sa inseram in coloana1 si coloana 3, vom insera doar in acelea, iar functia va arata ceva de genul:

Atentie! Niciodata sa nu scrieti coloana1, coloana2 si sa dati voaloare pentru coloana1 si coloana3. Programul va insera in coloana2, valoarea pe care voi defapt o voiati in coloana3, din cauza ca ati scris coloana2 si nu coloana3. Daca vreti sa inserati mai multe valori decat coloane, functia nu va merge si programul va da crash.

Aplicabilitatea propriu-zisa a functiei INSERT: 

Functia aceasta va avea in comun cu functia SELECT, doar functia de creare a comenzii (SqlCommand), in schimbul functiei SqlDataReader, aparand un ExecuteNonQuery().

Observatie! La orice alta functie in afara de functia SELECT, vom folosi ExecuteNonQuery(), fara aceasta functia nu va fi executata. Explicatie: Functia SELECT este un Query , iar celelalte nu sunt query-uri!

La variabilele @valoare1, @valoare2, ne vom folosi de o functie care da valoare acestora. Exista doua posibilitati, dar noi o vom folosi pe cea mai generala.

 

Functia DELETE

Aceasta functie sterge anumite date din baza de date. In principiu, sintaxa este cam aceeasi cu cea de la Select.

De asemenea, se poate filtra si functia de delete, folosind WHERE. Diferenta dintre Select si Delete, pe langa faptul ca Select face o selectie si Delete sterge din baza de date, functia Delete nu este query, deci vom folosi ExecuteNonQuery().

Aplicabilitatea propriu-zisa a functiei DELETE:

Functia de DELETE, la aplicabilitate este la fel ca la insert, se creeaza comanda, iar comanda se executa prin ExecuteNonQuery():

 

Functia UPDATE

Aceasta functie permite actualizarea datelor din forma, in baza de date. Sintaxa este putin diferita de celelalte 3 functii dar tot intuitiva si usor de retinut.

Si aceasta functie la randul ei poate fi filtrata prin aceeasi metoda, folosind WHERE

Atentie! Intre UPDATE si SET este neaparata nevoie de tabelul unde doriti sa efectuati modificarea. Variabilele ce vor fi actualizate vor trebui separate prin virgula.

Aplicabilitatea propriu-zisa a functiei UPDATE:

Diferenta dintre UPDATE si INSERT o face doar sintaxa si functionalitatea, aplicabilitatea, insa, este chiar identica. Pentru a executa comanda vom folosi ExecuteNonQuery().

 

In cazul in care am omis ceva, puteti gasi video-ul pe YouTube.

Comentarii
Se incarca comentariile...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More