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