Cilj časa: Upoznati učenike sa načinom povezivanja aplikacije sa bazom podataka korišćenjem konekcionog stringa. Objasniti osnovne komponente konekcionog stringa i demonstrirati praktičnu primenu kroz jednostavne primere.


1. Uvod u konekcioni string

Konekcioni string je tekstualni niz koji sadrži sve potrebne informacije za povezivanje aplikacije sa bazom podataka. On obuhvata sledeće elemente:

  • Provider – Tehnologija koja se koristi za pristup bazi (npr. SQL Server, MySQL, SQLite).
  • Server – Adresa servera na kojem se nalazi baza podataka.
  • Database – Naziv baze podataka.
  • Authentication – Podaci za autentifikaciju (korisničko ime i lozinka ili Windows autentifikacija).

Primer konekcionog stringa za SQL Server:

  • Kada koristimo korisničku autentifikaciju:
      string connectionString = "Server=localhost;Database=Skola;User Id=sa;Password=lozinka;";
  • Kada koristimo Windows autentifikaciju (integrisanu autentifikaciju):
      string connectionString = "Server=localhost;Database=Skola;Integrated Security=True;";
  • Alternativno, umesto localhost, može se koristiti i tačka (.):
      string connectionString = "Server=.;Database=Skola;User Id=sa;Password=lozinka;";

  Napomena: Kao naziv servera može da se piše i pun naziv servera. Reč "localhost" označava da je reč o serveru na lokalnom računaru, bez obzira kako se server zove.

Ukratko:

Konekcioni string – osnovne komponente:

  • Server – može biti localhost, . ili IP adresa ili pun naziv servera.
  • Database – naziv baze.
  • Authentication:
    • Korisnička: User Id=sa;Password=lozinka;
    • Windows: Integrated Security=True;

Praktičan primer povezivanja

string connectionString1 = "Server=localhost;Database=Skola;User Id=sa;Password=lozinka;";  
string connectionString2 = "Server=.;Database=Skola;Integrated Security=True;";

2. Korišćenje konekcionog stringa u C#

Za povezivanje sa bazom u C# koristimo klasu SqlConnection iz System.Data.SqlClient biblioteke.

Osnovni primer povezivanja sa bazom
  using System;
  using System.Data.SqlClient;

  class Program {
    static void Main() {
        string connectionString = "Server=.;Database=Skola;User Id=sa;Password=lozinka;";
        
        using (SqlConnection konekcija = new SqlConnection(connectionString)) {
            try {
                konekcija.Open();
                Console.WriteLine("Uspešno povezivanje sa bazom!");
            } catch (Exception ex) {
                Console.WriteLine("Greška pri povezivanju: " + ex.Message);
            }
        }
    }
  }

Objašnjenje:

  • using se koristi za automatsko zatvaranje konekcije nakon izvršavanja koda.
  • Open() otvara konekciju sa bazom.
  • try-catch blok omogućava detekciju grešaka prilikom povezivanja.
  • Može se koristiti i Windows autentifikacija tako što se u connectionString umesto korisničkog ID-a i lozinke koristi Integrated Security=True.

3. Vežbe

  1. Definisanje konekcionog stringa – Učenici treba da napišu konekcioni string za bazu Skola koristeći i korisničku autentifikaciju i Windows autentifikaciju.
  2. Pisanje jednostavne C# aplikacije – Napraviti aplikaciju koja testira povezivanje sa bazom.
  3. Ispisivanje podataka iz baze – Modifikovati aplikaciju da izvrši upit SELECT * FROM Ucenici i prikaže rezultate.
Primer za ispis podataka iz baze
  using System;
  using System.Data.SqlClient;

  class Program {
    static void Main() {
        string connectionString = "Server=.;Database=Skola;User Id=sa;Password=lozinka;";
        
        using (SqlConnection konekcija = new SqlConnection(connectionString)) {
            try {
                konekcija.Open();
                SqlCommand komanda = new SqlCommand("SELECT * FROM Ucenici", konekcija);
                SqlDataReader citac = komanda.ExecuteReader();
                
                while (citac.Read()) {
                    Console.WriteLine("ID: " + citac["ID"] + ", Ime: " + citac["Ime"]);
                }
            } catch (Exception ex) {
                Console.WriteLine("Greška pri radu sa bazom: " + ex.Message);
            }
        }
    }
  }


Last modified: Wednesday, 2 April 2025, 8:46 PM