Uvod u rad sa bazom u ASP.NET-u i uspostavljanje konekcije - planirano za 17.03 - proučiti kod kuće
1. Uvod
U savremenim web aplikacijama podaci se čuvaju u bazama podataka. Da bi aplikacija mogla da koristi te podatke, potrebno je:
-
Uspostaviti konekciju sa bazom
-
Poslati upit ka bazi
-
Preuzeti i prikazati podatke
U ASP.NET aplikacijama najčešće se koristi MS SQL Server, a razvoj se vrši u okviru alata Visual Studio.
Za komunikaciju sa bazom koristi se ADO.NET tehnologija.
Najvažnije klase:
-
SqlConnection– konekcija ka bazi -
SqlCommand– izvršavanje SQL upita -
SqlDataReader– čitanje rezultata -
SqlDataAdapter– rad sa DataSet-om
2. Konekcioni string
Konekcioni string sadrži informacije potrebne za povezivanje sa bazom:
string connStr = "Data Source=.;Initial Catalog=Skola;Integrated Security=True";
Objašnjenje:
-
Data Source=.→ lokalni server -
Initial Catalog=Skola→ ime baze -
Integrated Security=True→ Windows autentifikacija
3. Primer: Uspostavljanje konekcije
using System.Data.SqlClient;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
Response.Write("Konekcija uspešna!");
}
catch (Exception ex)
{
Response.Write("Greška: " + ex.Message);
}
finally
{
conn.Close();
}
Klasa/objekat Response u kontekstu ASP.NET-a nije obična klasa koju sami kreiramo, već je deo web okruženja i postoji samo u određenom tipu projekata.
Gde postoji Response u Visual Studio 2010?
Response postoji u:
✔️ ASP.NET Web Forms aplikacijama
(npr. .aspx stranice)
U ovom slučaju Response je objekat tipa: HttpResponse
i dostupan je automatski u okviru stranice (Page klase).
Primer:
Response.Write("Zdravo!");
Šta je zapravo Response?
Response predstavlja HTTP odgovor koji server šalje klijentu (browseru).
Drugim rečima:
-
korisnik pošalje zahtev (Request)
-
server obradi zahtev
-
server vraća odgovor (Response)
Veza Request–Response
| Objekat | Uloga |
|---|---|
Request |
prima podatke od korisnika |
Response |
šalje podatke korisniku |
Gde se nalazi klasa?
Response pripada imenskom prostoru:
System.Web
Tačnije:
System.Web.HttpResponse
U kom kodu je dostupna?
✔️ U Web Forms (ASP.NET)
U fajlovima:
-
.aspx.cs -
.aspx
Primer:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Stranica je učitana");
}
❌ Ne postoji u:
-
Console aplikacijama ❌
-
Windows Forms aplikacijama ❌
-
običnim C# klasama ❌
Tu nema web servera → nema HTTP odgovora → nema Response
Napomena za Visual Studio 2010
U VS 2010 se najčešće koristi:
ASP.NET Web Forms (.NET Framework)
U tom okruženju:
-
Responseje uvek dostupan u Page klasi -
ne mora se posebno instancirati
Malo drugačije objašnjeno
„Response je način da server ‘priča’ sa browserom.“
-
Response.Write()→ ispisuje tekst na web stranici -
slično kao
Console.WriteLine()ali za web
| Okruženje | Ispis |
|---|---|
| Console app | Console.WriteLine() |
| Web app | Response.Write() |
4. Vežba
-
Napraviti ASP.NET projekat
-
Kreirati bazu Skola (ako je nema na serveru)
-
Dodati tabelu
Ucenik:-
Id (int, PK)
-
Ime (nvarchar)
-
Prezime (nvarchar)
-
-
Napisati kod za test konekcije
5. Dodatni zadatak
Napraviti konekciju ka bazi Biblioteka i prikazati poruku da li je konekcija uspešna.