Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike i računarstva Vojni studijski program: Vojno vođenje i upravljanje
Sjetimo se prošlog predavanja Spojiti sa na bazu (.mdf datoteku) iz Visual Studia i pregledati tablicu Djelatnik na 3 načina: Open Table definition Show Table Data New Query 2
Vježba Dodati novog djelatnika u tablicu Djelatnik (preko Show table data) Što je sve nužno unijeti? Zašto? Dodati novi atribut u tablicu Djelatnik (preko Open table definition) datumzaposlenja Postaviti Data Type na date Napraviti Update tablice Izbrisati odjel iz tablice Odjel s id-em 4 (preko Show table data) Što se događa? 3
SQL UPITI 4
SQL SQL (Structured Query Language) posebni jezik za pisanje upita nad bazom podataka Osnovne naredbe: SELECT dohvat podataka iz baze INSERT unos novog podatka DELETE brisanje podatka UPDATE ažuriranje (izmjena) podatka 5
Pisanje upita u Visual Studiu Otvoriti pogled na bazu kroz Visual Studio koji omogućava pisanje upita (New Query) Zeleni trokutić pokreće napisani upit (ako nije označeno ništa, pokreće se sve što je napisano, ako je određeni dio teksta označen pokreće se samo označeni dio) 6
SELECT upit Isprobati: SELECT * FROM Djelatnik SELECT Ime, Prezime FROM Djelatnik SELECT * FROM Djelatnik WHERE IdOdjela = 4 Što vraćaju navedeni upiti? Napišite upit za dohvat Prezimena i IdOdjela svih djelatnika čiji supervizor ima id 3 7
UPDATE upit Isprobati: UPDATE Djelatnik SET IdOdjela = 4 WHERE Id = 3 UPDATE Djelatnik SET IdSupervizora = 3 WHERE IdOdjela = 4 AND Id!= 3 (Ne zaboraviti Refresh podataka) Što vraćaju navedeni upiti? Napišite upit za ažuriranje IdOdjela svih djelatnika čiji supervizor ima id 3 na odjel koji ima IdOdjela 1 8
DELETE upit Isprobati: DELETE FROM Djelatnik WHERE IdDjelatnika = 8 DELETE FROM Djelatnik WHERE IdOdjela = 6 Što rade navedeni upiti? 9
INSERT upit Isprobati: INSERT INTO Djelatnik VALUES('Ana', 'Anić', NULL, 1, 4, getdate()) (Paziti na redoslijed atributa) Što radi navedeni upit? Zašto nije bilo potrebno napisati IdDjelatnika u navedenom upitu? Napišite upit za unos novog Odjela naziva Odjel za financije 10
JOIN upit Spajanje više tablica Za ilustraciju... SELECT Ime, Prezime, Naziv FROM Djelatnik INNER JOIN Odjel ON Djelatnik.IdOdjela = Odjel.Id 11
SqlD atareader reader = com m and.executereader() IZGRADNJA APLIKACIJE NAD LOKALNOM BAZOM 12
Zadatak Nad bazom podataka (Firma.mdf) izgraditi windows aplikaciju Omogućiti dohvat svih djelatnika i prikaz u textbox kontroli 13
Napraviti zaslonsku masku Dovući gumb i textbox (multiline=true) Klikom na gumb prikazati djelatnike 14
Uključivanje biblioteke - SqlClient Za rad s bazom, tj. za pisanje upita u kodu potrebno je uključiti biblioteku System.Data.SqlClient Dalje kod pišemo u implementaciji klika na gumb 15
Otvaranje konekcije na bazu SqlConnection Postavljamo connection string (može se kopirati iz Server Explorera) SqlConnection konekcija = new SqlConnection(); konekcija.connectionstring = @"Data Source=(LocalDB)\v11.0; AttachDbFilename=F:\NASTAVA\Vojni studiji\primjeri- Vojni\PrimjerBaza\Firma.mdf;Integrated Security=True"; konekcija.open(); 16
Pisanje i izvršavanje SQL naredbe SqlCommand Naredba se piše kao SQL upit SqlCommand komanda = new SqlCommand("SELECT Ime,Prezime FROM Djelatnik", konekcija); SqlDataReader Za upit koji vraća nešto (SELECT) pišemo ExecuteReader SqlDataReader citac = komanda.executereader(); 17
Prikaz rezultata u tekstualnoj kontroli Read() metoda na citacu citac.read() - tipa bool uspješnost čitanja citac[0] za dohvat imena, citac[1] za dohvat prezimena while (citac.read()) { prikaz.text += citac[0] + " " + citac[1] + Environment.NewLine; } konekcija.close(); 18
Zadatak Prethodni zadatak dopuniti kontrolom za unos id-a odjela za koji ćemo prikazati djelatnike Klikom na gumb prikazuju se samo djelatnici odabranog odjela Koristiti: NumericUpDown Label OdabirOdjela. Value.ToString() 19
Zaključak Ovaj primjer je prikaz najosnovnije funkcionalnosti dohvata podataka i prikaz u kontroli s tekstom U stvarnosti se podaci prikazuju u kontrolama koje omogućavaju uređivanje, brisanje i dodavanje 20