Bu makalemde sizlere daha önce Validation-1 ve Validation-2‘de hazırlamış olduğum proje üzerinden veritabanına veri eklemenin nasıl yapıldığını göstereceğim.

1-) İlk olarak projemizin üzerinde sağ tıklayıp Add –> Add ASP.NET Folder –> App_Data yolunu izleyerek App_Data klasörümüzü projemize ekliyoruz.

2-) App_Data klasörünü projemize ekledikten sonra App_Data klasörü üzerinde sağ tıklayıp Add –> New Item diyoruz.

3-) Karşımıza çıkan ekranda Visual C# üzerine tıkladıktan sonra SQL Server Database bileşenini seçip alt tarafta veritabanımızın adını yazıyoruz.

Veritabanımızı ekledikten sonra aşağıdaki gibi bir görüntü almanız gerekiyor.

4-) Veritabanım.mdf üzerinde sağ tıklayıp Open diyoruz ve ekranımızın sol tarafında Server Explorer kısmında Veritabanımızı görüyoruz.


5-) Tables –> Add New Table yolunu izleyerek yeni bir tablo oluşturuyoruz. Aşağıdaki gibi değişkenlerimizin ismini ve tiplerini giriyoruz. “ID” adlı değişkenimiz primary key olup sistem tarafından otomatik olarak artmasını istiyorum. Bu sebeple Identity Specification altında bulunan Is Identity değerini Yes yapıyorum ve altındaki ifadelerin karşılığının 1 olduğunu görüyorum. Bunun anlamı id numarası vermeye 1′den başla ve birer birer artır demektir.


6-) Oluşturduğumuz tablomuzu kaydediyoruz.

7-) Projemiz üzerinde sağ tıklayıp Add –> New Item –> WCF Service‘i seçiyoruz. Bu sayede projemizde KullanıcıBilgileri adlı veritabanı tablomuza veri ekleyebileceğiz.

8 -) Ardından yine aynı yolu izleyerek projemize bir LINQ to SQL Classes ekliyoruz. Server Explorer‘dan işlemlerde kullanacağımız “KullaniciBilgileri” adlı tablomuzu sürükleyip bırakıyoruz ve kaydediyoruz. Ardından projemizi derliyoruz.


9-) Tablomuzu ekledikten sonra KullaniciEkle.svc.cs dosyamıza geçip aşağıdaki gibi içeriğini dolduruyoruz.

[C#]

10-) Ardından Service References –> Add Service Reference yolunu izleyip oluşturduğumuz “KullaniciEkle.svc” servisimizi ekliyoruz.

11-) WCF Service’mizi ekledikten sonra projemizi build ediyoruz. MainPage.xaml.cs dosyamıza geçip aşağıdaki gibi sırasıyla kodlarımızı yazıyoruz.

[C#]

12-) Projemizi derleyip çalıştırıyoruz.

Hata olduğu için mevcut hatalarımızı düzeltip tekrar denememizi istiyor.

Hataları düzeltip tekrar denediğimizde kullanıcı eklenmiştir diye mesaj veriyor.Bakalım gerçekten veritabanımıza kullanıcımız eklenmiş mi? Bunun için Server Explorer‘dan ilgili tablomuzun üzerinde sağ tıklayıp Show Table Data diyoruz ve aşağıdaki görüntü ile karşılaşıyoruz. Sonuç olarak girmiş olduğumuz bilgiler veritabanımıza başarılı bir şekilde eklenmiş oluyor.

Bu makalemde Validation kontrolünün kullanımını örnekleyip, Silverlight tarafındaki MSSQL Server’a nasıl kayıt ekleyebileceğimizden bahsettim. Umarım yararlı olmuştur. Daha sonraki makalelerimde verilerin güncellenmesi, verilerin silinmesi gibi işlemlerden bahsedeceğim. Bir sonraki makalemde görüşmek üzere…

Silverlight ile veritabanı işlemleri-1

Silverlight ile veritabanı işlemleri-1” üzerine 4 düşünce

  • 24/03/2013, 18:05
    Kalıcı bağlantı

    Xaml kısmında service referans kalsörüne service1.svc eklerken “an error occurred while attempting to find services at” gibi bi hata veriyor. bitürlü çözemedim

    Cevapla
    • 24/03/2013, 18:11
      Kalıcı bağlantı

      Service References –> Add Service Reference yolunu izlemeden önce projenizi build edin ve build sonucunda hata varsa bu hatayı giderdikten sonra referanslar bölümüne servisinizi ekleyin.

      Cevapla
  • 09/04/2013, 10:04
    Kalıcı bağlantı

    anlatım için teşekkürler. 10. adımda hata veriyor
    ‘http://localhost:49406/Service1.svc’ yüklenirken hata oluştu.
    İstek şu hata iletisini verdi:

    SilverlightApplication1.Web.Service1 türü hizmet sınıfı, hem bir ServiceContract tanımlar hem de SilverlightApplication1.Web.IService1 türünden bir ServiceContract alır. Sözleşme devralma yalnızca arabirim türleri arasında kullanılabilir. Bir sınıf ServiceContractAttribute ile işaretlenmişse, hiyerarşide ServiceContractAttribute özelliğine sahip tek tür olmalıdır. SilverlightApplication1.Web.IService1 türünde bulunan ServiceContractAttribute özelliğini, SilverlightApplication1.Web.IService1 türünün uyguladığı ayrı bir arabirime taşımayı düşünebilirsiniz.

    body {font-family:”Verdana”;font-weight:normal;font-size: .7em;color:black;}
    p {font-family:”Verdana”;font-weight:normal;color:black;margin-top: -5px}
    b {font-family:”Verdana”;font-weight:bold;color:black;margin-top: -5px}
    H1 { font-family:”Verdana”;font-weight:normal;font-size:18pt;color:red }
    H2 { font-family:”Verdana”;font-weight:normal;font-size:14pt;color:maroon }
    pre {font-family:”Consolas”,”Lucida Console”,Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
    .marker {font-weight: bold; color: black;text-decoration: none;}
    .version {color: gray;}
    .error {margin-bottom: 10px;}
    .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
    @media screen and (max-width: 639px) {
    pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
    }
    @media screen and (max-width: 479px) {
    pre { width: 280px; }
    }

    ‘/’ Uygulamasında Sunucu Hatası.

    SilverlightApplication1.Web.Service1 türü hizmet sınıfı, hem bir ServiceContract tanımlar hem de SilverlightApplication1.Web.IService1 türünden bir ServiceContract alır. Sözleşme devralma yalnızca arabirim türleri arasında kullanılabilir. Bir sınıf ServiceContractAttribute ile işaretlenmişse, hiyerarşide ServiceContractAttribute özelliğine sahip tek tür olmalıdır. SilverlightApplication1.Web.IService1 türünde bulunan ServiceContractAttribute özelliğini, SilverlightApplication1.Web.IService1 türünün uyguladığı ayrı bir arabirime taşımayı düşünebilirsiniz.

    Açıklama: Geçerli web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

    Özel Durum Ayrıntıları: System.InvalidOperationException: SilverlightApplication1.Web.Service1 türü hizmet sınıfı, hem bir ServiceContract tanımlar hem de SilverlightApplication1.Web.IService1 türünden bir ServiceContract alır. Sözleşme devralma yalnızca arabirim türleri arasında kullanılabilir. Bir sınıf ServiceContractAttribute ile işaretlenmişse, hiyerarşide ServiceContractAttribute özelliğine sahip tek tür olmalıdır. SilverlightApplication1.Web.IService1 türünde bulunan ServiceContractAttribute özelliğini, SilverlightApplication1.Web.IService1 türünün uyguladığı ayrı bir arabirime taşımayı düşünebilirsiniz.

    Kaynak Hatası:

    Geçerli web isteği yürütülürken işlenmeyen bir özel durum üretildi. Özel durumun kaynağı ve konumuna ilişkin bilgiler aşağıdaki özel durum yığını izlemesi kullanılarak belirlenebilir.

    Yığın İzleme:

    Sürüm Bilgisi: Microsoft .NET Framework Sürümü:4.0.30319; ASP.NET Sürümü:4.0.30319.18033

    –.
    Meta veri çözümlemeyen bir başvuru içeriyor: ‘http://localhost:49406/Service1.svc’.
    Sunucu anlamlı bir yanıt sağlamadı; bunun nedeni, bir sözleşme uyumsuzluğu, zamanından önce kapatılan bir oturum veya bir iç sunucu hatası olabilir.
    If the service is defined in the current solution, try building the solution and adding the service reference again.

    Cevapla
    • 09/04/2013, 20:48
      Kalıcı bağlantı

      Merhaba,

      7. adımda service ekledikten sonra projenizi build edip bir hata olmadığını kontrol edin. Ardından diğer işlemleri yapın ve 9. adım sonunda tekrar build edin. Özellikle 10. adıma geçmeden önce projenizi build etmeniz ve projenizde hata olmaması gerekiyor. Aksi halde eklemiş olduğunuz servisi/servisleri referanslara eklerken sorun yaşarsınız.

      İkinci olarak localhosttaki url ile servisinizin url’lerinin aynı olduğunu kontrol edin.

      Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir