Bir önceki makalemizde hazirladigimiz SQL sorgumuz ile StoredProcedure yazalim ve bu procedure uygulamadan çagiralim.
Bir önceki makaleye ulaşmak için tıklayınız.
CREATE
proc XMLGetir
AS
SELECT
distinct
1
AS
Tag,
NULL
AS
Parent,k.kategori
AS
[Kategoriler!1!KategoriAdi],
NULL
AS
[URUN!2!Adi!ELEMENT],
NULL
AS
[URUN!2!Adet!ELEMENT],
NULL
AS
[URUN!2!StokGirisTarihi!ELEMENT]
FROM
Kategoriler k,Urunler u
WHERE
k.id=u.katid
UNION
ALL
SELECT
2
AS
Tag,1
AS
Parent,k.kategori,u.urunadi,u.adet,u.sgiris
FROM
Kategoriler k,Urunler u
WHERE
k.id=u.katid
ORDER
BY
[Kategoriler!1!KategoriAdi],[URUN!2!Adi!ELEMENT],[URUN!2!Adet!ELEMENT]
FOR
xml explicit
ASP.NET ile web uygulamamizdan bu procedure’u ExecuteXmlReader() kullanarak çagiralim.
protected
void
Button1_Click(
object
sender, EventArgs e)
{
SqlConnection baglanti =
new
SqlConnection(
"server=localhost;initial catalog=SQLXML;integrated security=true"
);
SqlCommand cmd =
new
SqlCommand(
"XMLGetir"
,baglanti);
cmd.CommandType = CommandType.StoredProcedure;
DataSet ds =
new
DataSet();
baglanti.Open();
//Sorgu sonucundan dönen xml'i okuyalim.
XmlReader oku= cmd.ExecuteXmlReader();
ds.ReadXml(oku);
oku.Close();
baglanti.Close();
//Dataset e aktardigimiz xml'in istedigimiz tablosunu Grid'de gösterelim.
GridView1.DataSource = ds.Tables[1];
GridView1.DataBind();
}
Sunuç aşağıdaki gibi olacaktır.