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.