|
Bir önceki makalemizde hazırladığımız SQL sorgumuz ile StoredProcedure yazalım ve bu procedure uygulamadan çağıralım.
|
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 uygulamamızdan bu procedure’u ExecuteXmlReader() kullanarak çağıralım.
|
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 okuyalım.
XmlReader oku= cmd.ExecuteXmlReader();
ds.ReadXml(oku);
oku.Close();
baglanti.Close();
//Dataset e aktardığımız xml'in istediğimiz tablosunu Grid'de gösterelim.
GridView1.DataSource = ds.Tables[1];
GridView1.DataBind();
}
|
Sonuç aşağıdaki gibi olacaktır.

Sinan UÇAR
MCP,MCAD,MCDBA,MCSD.NET
|