Zadatak:
Napraviti jednostavnu windows aplikaciju, koja će na osnovnoj formi imati samo dva dugmeta (Slika 1.1):

Slika 1.1: Izgled programa

Dugme Otvori treba da omogući uspostavljanje konekcije sa bazom podataka. Klikom na dugme Zatvori, konekcija sa bazom podataka se prekida. U oba slučaja korisnik treba da bude obavešten preko messageBox-a, koji sadrži odgovarajuću poruku (Slika 1.2):

Slika 1.2: Obaveštenje o stanju konekcije

Potrebno je obezbediti da korisnik bude obavešten i u slučaju kada klikne na dugme Otvori, a konekcija je pre toga  već otvorena. Isti slučaj treba obraditi i za dugme Zatvori (Slika 1.3):

Slika 1.3: Obaveštenje za korisnika

Rešenje:
Za rad za bazom podataka, koristimo Microsoft SQL Server Management Studio Express. Odmah nakon postupka početnog kreiranja projekta u Visual Studio-u, potrebno je kreirati klasu, koja će sadrzati konekcioni string, koji služi za uspostavljanje konekcije sa tačno određenom bazom podataka. Uslov za uspešno uspostavljanje konekcije, jeste da ciljana baza postoji na serveru. Konekciju treba kreirati u dizajn modu. U Visual Studio-u treba aktivirati opciju u meniju Data/Add New Data Source (Slika 1.4):

Slika 1.4: Korišćenje menija Data/Add New Data Source

Otvoriće se poseban prozor, Data Source Configuration Wizard. Treba izabrati Database i kliknuti Next. Kliknuti na dugme New Connection, i aktiviraće se novi prozor Add Connection. U polje Server name upisati (local)SQLExpress. U polje Select or enter a database name upisati Northwind (to je ime baze sa kojom zelimo da uspostavimo konekciju) (Slika 1.5):

Slika 1.5: Upotreba dijaloga Add Connection

Preko dugmeta Test connection proveriti da li je veza sa bazom uspostavljena. Potrebno je da dobijete obaveštenje Test connection succeeded. Do kraja ne treba ništa više menjati u wizard-u.  Obrisati automatski generisani fajl NorthwindDataSet. Iz automatski generisanog fajla app.config treba iskopirati konekcioni string u novu klasu Konekcija. Obavezno treba uključiti prostor imena System.Data.SqlClient. U prozoru Solution Explorer-a treba primetiti postojanje fajla app.config, kao i klase Konekcija.cs (Slika 1.6):

Slika 1.6: Solution Explorer

Kod za klasu Konekcija:

class Konekcija
{
private static string konString = @”Data Source=(local)SQLExpress;Initial Catalog=Northwind;Integrated Security=True”;
public static string KonekcioniString
{
get
{
return konString;
}
}
}

Kod za klasu FormaKonekcija:

public partial class FormaKonekcija : Form
{
SqlConnection kon = new SqlConnection(Konekcija.KonekcioniString);
public FormaKonekcija()
{
InitializeComponent();
}
private void buttonOtvori_Click(object sender, EventArgs e)
{
// provera da li je konekcija vec otvorena
if (kon.State == ConnectionState.Open)
{
MessageBox.Show(“Konekcija je vec otvorena!”, “Otvaranje konekcije”, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
// otvori konekciju
kon.Open();
MessageBox.Show(kon.State.ToString());
}
catch (Exception cp)
{
MessageBox.Show(cp.ToString());
}
}
private void buttonZatvori_Click(object sender, EventArgs e)
{
// provera da li je konekcija vec zatvorena
if (kon.State == ConnectionState.Closed)
{
MessageBox.Show(“Konekcija je vec zatvorena!”, “Zatvaranje konekcije”, MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
// zatvori konekciju
kon.Close();
MessageBox.Show(kon.State.ToString());
}
catch (Exception cp)
{
MessageBox.Show(cp.ToString());
}
}
}

Kompletno rešenje zadatka možete da preuzmete ovde.