
A mellékelt példa futtatása előtt a Form1.cs 170. sorában meg kell adnia az adatbázis kapcsolat létrehozásához a szerver és bejelentkező nevet valamint jelszavát.
Szinte minden vezérlőnél találunk egy DataBindings property-t, melyen keresztül elvégezhető ez a funkció. Nézzük miként valósítható meg ez a gyakorlatban.
Először is létrehozunk egy kapcsolatot az MS SQL szerver Northwind példa adatbázisával.
Ha ez adott, akkor futtatunk egy egyszerű lekérdezést, mely visszaadja a Products tábla adatait. Majd egy DataSet osztályban eltároljuk a lekérdezés eredményét.
SqlConnection connection = new SqlConnection("Data Source=as1;uid=sa;password=skd;initial catalog=Northwind;Connect Timeout=3");
connection.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from Products", connection);
da.Fill(ds, "Products");
Majd ezt követően kapcsolhatjuk az adatokat a vezérlőkhöz. Ehhez az adott vezérlő Bindings property-ét használhatjuk fel, mely ControlBindingsCollection típusú. Ez a property minden RichControl-ból származó osztályban megtalálható. A ControlBindingsCollection osztályban találunk egy Add nevű függvényt. Ennél első paraméterként annak a property-nek a nevét kell megadnunk sztringként, amelyhez szeretnénk hozzákötni az adatokat. Ez jelen esetünkben mind a Label, mind a TextBox esetén a Text property lesz. Második paraméterben az adatforrás objektumát adjuk meg, mely most a DataSource osztályunk lesz. Végül harmadik paraméterként az adatforrás azon tagjára kell hivatkoznunk, mely a tényleges adatot szolgáltatja az adatforráson belül. Ez most a Products tábla egy-egy mezőjének a nevét fogja jelenteni.
label1.DataBindings.Add("Text", ds, "Products.ProductID");
textBox1.DataBindings.Add("Text", ds, "Products.ProductName");
textBox2.DataBindings.Add("Text", ds, "Products.QuantityPerUnit");
textBox3.DataBindings.Add("Text", ds, "Products.UnitPrice");
Ettől kezdve megjelenik az aktuális rekord megadott mezőinek tartalma a hozzájuk kötött vezérlőkben. Most felmerül a kérdés, hogy miként tudjuk változtatni az aktuális rekordot és ezzel mindig új és új adatokat megjeleníteni a vezérlőkben. Ehhez a BindingContext property-t hívhatjuk segítségül, mely szintén minden RichControl-ból származó osztálynak része. Ezen keresztül vezérelhetjük az összekapcsolásokat, így például megoldható egyszerűen, hogy a következő, vagy az előző rekordra ugorjunk. Ehhez nincs más teendőnk, mint a Products táblához kötődő kapcsolatunk Position property-jének az értékét növeljük, illetve csökkentsük attól függően, hogy a következő, vagy az előző rekordra vagyunk-e kíváncsiak.
protected void button2_Click (object sender, System.EventArgs e)
{
this.BindingContext[ds, "Products"].Position--;
}
protected void button3_Click (object sender, System.EventArgs e)
{
this.BindingContext[ds, "Products"].Position++;
}