SqlServer etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SqlServer etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

24 Mart 2016 Perşembe

Web API'den Json Tipinde Veri Çekmek ve Kullanmak

Nihayet bu konu da aydınlandı... Elimde bir APIm var. İhtiyacım oldukça bu apiye metod yazarak dışarıdan erişiyorum. Önce API kısmına bakayım sonra da Client tarafı gelecek. Hazırladığım metod bana bir liste dönüyor. Bunun İçin metodun başına [HttpGet] koymak şart! Veya metod isminin başına Get koyularak da ayapılabiliyor. (Örneğin metodun adı Events ise bunu GetEvents olarak değiştirdiğimde metodun başına [HttpGet] Attribute'ünü koymaya gerek kalmıyor.)



API tarafınfa şimdilik iki metot var, bunlar aşağıdaki gibidir.



Şimdi gelelim client tarafında bu metotu kullanmaya.


Ekran görüntüleri herşeyi açıklıyor :)

10 Mart 2016 Perşembe

XML Data Source Add To Sql Server (Xml Veri Kaynağını Sql Server'a Tablo Yapısında Eklemek)

Sevdiğimiz bir hocamızın ihtiyacına binaen elindeki xml veriyi sql'e eklememiz gerekti. Yapılan işlemler aşağıdaki gibidir. :)



1. Örnek xml dosyası aşağıdaki gibidr. Elimdeki xml'de bu şekilde 12 adet book nesnesi var.



2. Sql Server'da XMLwidthOpenXML adında yeni bir tablo oluşturuyorum. Tablonun yapısı aşağıdaki gibidir.


3. Sırada xml dosyasındaki verileri bu tabloya atmak var. Bu işlemi aşağıdaki kod yardımıyla yapıyoruz.




4. Yukarıdaki kodu çalıştırdığımızda ekranda aşağıdaki gibi bir görünüm olmalıdır.



5. Xml dosyasında 12 adet book nesnesi var fakat burada tek satır var diye düşünmeyin. Sıra geldi bunu halletmeye :) XMLData sütunundaki hyperlinke tıkladığımızda bize xml dosyasımız olduğu gibi gösterir. Şimdi xml dosyasının içindeki verileri sql satırı olarak çekelim.



6. Yukarıdaki kodun çıktısı aşağıdaki gibi olmalıdır.



7. Artık buradan sonra iş kullanıcıya kalmış :) Bu satırları excel'e çekebilirsiniz veya Cursor kullanarak istediğiniz işlemleri yapabilirsiniz. Kolay Gelsin.

Sql Server Cursor Kullanımı

Sql Server'da Cursor kullanımı genel olarak aşağıdaki gibidir.
DECLARE @NAME NVARCHAR(100)
DECLARE @EMAIL NVARCHAR(200)

DECLARE CRS_KISIEKLE CURSOR FOR
   SELECT DISTINCT 
   ks.Ad
   FROM 
   WL_SN_VW_COURSE as cs INNER JOIN
   WL_SN_ST_COURSEMAP as cm ON cs.COURSEID=cm.COURSEID INNER JOIN
   [IP].uysv2.dbo.OGROgrenciYazilma as st on st.FKDersPlanID=cm.COURSEKEY INNER JOIN
   [IP].uysv2.dbo.OGRKimlik AS og ON st.FKOgrenciID=og.ID INNER JOIN
   [IP].uysv2.[dbo].[Kisi] AS ks ON ks.ID=og.[FKKisiID] LEFT OUTER JOIN
   [IP].uysv2.[dbo].[Nufus] AS nf ON nf.ID=ks.[FKNufusID] INNER JOIN
   [IP].[uysv2].[dbo].[Birimler] AS dp ON og.[FKBolumPrBirimID]=dp.ID  LEFT OUTER JOIN
   WL_SN_ST_USER as us ON CAST(og.ID as nvarchar(50))=us.STUDENTKEY 
      WHERE cs.COURSEID='0901adc9-1660-437c-8790-e0a3bc2eaa49' AND og.EnumOgrDurum = 2
   GROUP BY og.Numara,ks.TC,ks.Ad,ks.Soyad,nf.[ENUMCinsiyet],nf.[DogumTarihi],og.Numara,dp.ID,ks.TC,og.ID,KullaniciAdi

OPEN CRS_KISIEKLE
FETCH NEXT FROM CRS_KISIEKLE INTO @NAME
WHILE @@FETCH_STATUS =0
 BEGIN
  --------
  INSERT INTO TESTTEST (NAME) VALUES(@NAME)

  FETCH NEXT FROM CRS_KISIEKLE INTO @NAME
 
 END

CLOSE CRS_KISIEKLE

DEALLOCATE CRS_KISIEKLE