C# - Adattábla megjelenítése web oldalon

ASP.NET 3. rész

forráskód letöltése
ASP.NET sorozatunk mostani részében azzal foglalkozunk, hogy felépítünk egy adatbázis kapcsolatot, majd egy paraméterezett Select lekérdezést futtatva az eredményt egy táblázatban jelenítjük meg a kliens számára és tesszük mindezt természetesen egy web oldalon keresztül.
A mellékelt példa kipróbálásához hozzon létre web szerverén egy virtuális könyvtárat SoWebApplication03 névvel (pl.: c:\Inetpub\wwwroot-on belül), majd másolja oda a mellékelt állományokat. További szükséges előkészítő lépés, hogy a WebForm1.aspx.cs forráskód 70. sorában lévő SqlConnection osztály konstruktoránál adja meg annak a szervernek a nevét, ahol fut az MS SQL adatbázis kezelő, valamint bejelentkezési nevét és jelszavát is, hogy a program elérhesse a Northwind példaadatbázist.
A Northwind példaadatbázisból a Products táblára futtatunk egy select-et, ahol a unitprice mező értékére szűrünk, méghozzá a web lapon, a felhasználó által megadott értékkel. Ehhez az üres web lapra tegyünk fel egy TextBox-ot, egy Button-t és egy DataGrid-et az eredmény megjelenítéséhez. A DataGrid-nél a Properties ablak alján megjelenik egy Auto Format link. Erre kattintva gyorsan formázhatjuk a táblázatunkat a már előre elkészített sablonok alapján. A nyomógombhoz létrehozunk egy Click eseményt, ahol a feladat érdemi részét végezzük el.
Első lépésként létrehozunk egy kapcsolatot az MS SQL szerverrel és azon belül a Northwind adatbázissal.
    private void Button1_Click(object sender, System.EventArgs e)
    {      
      SqlConnection connection = new SqlConnection("data source=;user id=sa;password=;database=Northwind");
Ezt követően egy SqlDataAdapter-t használunk arra, hogy egy select utasítást futtassunk le, melyben egy paramétert is elhelyezünk „up” névvel.
      SqlDataAdapter da = new SqlDataAdapter("select * from Products where unitprice >= @up", connection);
Ahhoz, hogy ezt a paramétert használni is tudjuk, létre kell hozzunk egy SqlParameter objektumot és ezt hozzáadni a SqlDataAdapter osztály SelectCommand property Parameters property-jéhez. A létrehozandó paraméter neve természetesen „up” lesz, míg típusa Money, mely egyezik a Products tábla unitprice mezőjének típusával.
      da.SelectCommand.Parameters.Add(new SqlParameter("@up", SqlDbType.Money));
Most, hogy adott a paraméter objektum, már tudunk értéket is adni neki, melyet a TextBox1 vezérlőből veszünk.
      da.SelectCommand.Parameters["@up"].Value = TextBox1.Text;
Most már csak futtatnunk kell a select-et és megjeleníteni az eredményt. Ehhez egy DataSet-et használunk, amelyet az SqlDataAdapter Fill függvényével töltünk fel.
      DataSet ds = new DataSet();
      da.Fill(ds, "Products");
Végül már csak hozzá kell kötnünk a DataSet-et a DataGrid-hez.
      DataGrid1.DataSource = ds.Tables["Products"].DefaultView;      
      DataGrid1.DataBind();            
    }

ASP.NET cikksorozat