Primjer upotrebe Data Link dijaloga u povezivanju sa bazom podataka. Aplikacija je urađena u C# 2.0 VS2005. Uključen i primjer sa izvornim kodom.
Data Link dijalog je COM objekt pomoću kojeg na jednostavan način definišemo konekciju sa određenim provajderom baze podataka. Nakon podešavanja provajdera potrebno je podesiti server ili putanju do baze podataka (u zavisnosti od provajdera) za validan string konekcije.
U ovom primjeru biti će prezentirana jednostavna demo aplikacija koja poziva Data Link dijalog uzima string za konekciju sa bazom podatka, te pohranjuje isti u user.config datoteku koja obezbjeđuje stalnost stringa za korištenje.
Slika 1 Data Link u akciji
DATA LINK Demo
Data Link demo je jednostavna aplikacija koja se sastoji od jedne forme u kojoj preko dugmeta “DataLink” pozivamo Data Link dijalog podešavamo konekciju stringa te isti prikazujemo u edit kontroli. Zatim isti string pohranjujemo u config datoteku.
Na narednoj slici prikazana je demo aplikacija sa kontrolama za manipulaciju da data link dijalogam.
Slika 2 Data Link Demo aplikacija
Prilikom aktivacije klika na dugme DataLink izvršava se sljedeći dio koda za upravljanje sa događajem button1_Click.
void button1_Click(object sender, EventArgs e) { try { //Izlvacenje tipa šrograma pomocu refleksije Type type = Type.GetTypeFromProgID("DataLinks"); //Formiranje instance dijaloskog okvira Data Link</span> object</span> links = Activator.CreateInstance(type); //Pojavljivanje dijaloga pomocu kojeg podesavamo konekciju</span> object str1 = type.InvokeMember("PromptNew", BindingFlags.InvokeMethod, null, links, null); //data link posjeduje osobinu "Connectionstring" u koju pohranjuje konekciju stringa koju smo upravo podesili object s = str1.GetType().InvokeMember("ConnectionString", BindingFlags.GetProperty, null, str1, new object[0]); //Provjera da li je vracena varijabla ( "ConnectionString" ) validna</span> if (s != null) { //Vracena varijabla je tipa string sto mozemo lako konvertovati</span> string strBuid = (string )s; //Zapis konekcije string u Edit kontrolu textBox1.Text = strBuid; //Pohranjivanje stringa konekcije u user config datoteku</span> Properties.Settings.Default.Save(); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); return; } }
Pohranjivanje konekcija u config datoteku
Kada smo implementriali data link i string konekciju potrebno je isti pohraniti izvan memorije aplikacije da bi se uspješno mogao koristiti prilikom svakog startanja aplikacije. U tom smislu potrebno je definisati varijablu u settings.settings kategoriji a zatim povezati sa textmom edit kontrole. Na narednoj slici prikazan je način definisanja varijable u config datoteci
Slika 3 Definisanje varijable u confg datoteci
Prilikom definisanja varijable potrebno je definisati naziv varijable, tip, te inicijalu vrijednost (Name,Type, Value respektivno). Kolona pod nazivom scope označava na kojem nivou se varijabla definiše. U ovom kontekstu postoje dva nivoa:
- User – definisanje varijable na novou korisnika, to znači ako postoji više korisničkih računa u Windows OS, svaki račun će definisati varijablu zasebno. Config datoteka se pohranjuje u [DISK]:\Documents and Settings\[Naziv računa]\Local Settings
- Application – definisanje varijable na novou aplikacije i svi windows računi će dijeliti istu vrijednost varijable.
Nakon definisanja varijable potrebno je istu povezati sa textom edit kontrole u glavnoj formi aplikacije. Naredna slika pokazje pridruživanje varijable edit kontroli. Nakon pridruživanja potrebno je implementirati da se string konekcije iz edit kontrole zapiše u config datoteku. Ovo postižemo pozivom :
//Pohranjivanje stringa konekcije u user config datoteku Properties.Settings.Default.Save();
Slika 4 Povezivanje teksta edit kontrole varijabli stringKonekcije
Kompletan primjer sa izvornim kodom možete skinuti ovdje.