30 Aralık 2011 Cuma

Silverlight-BusyIndicator Toolkit

Silverlight uygulamalarımızda bazı durumlarda  çeşitli işlemler gerçekleştirilken bekleme olabiliyor,bu bekleme anında kullanıcıyı oyalayacak:)(ya da bilgilendirme amaçlı) bazı yazılar göstermek isteyebiliriz.Silverlight da bunu "BusyIndicator" karşılar.


Örneğin veritabanından veri çekme anında "Lütfen Bekleyin .." gibi bir yazı gösterilmek istenebilir.

<toolkit:BusyIndicator x:Name="mesgulum" BusyContent="Lütfen Bekleyin..." HorizontalAlignment="Center" VerticalAlignment="Center" />

"Lütfen Bekleyin..." gösterilmesi istenen yerlerde de
mesgulum.IsBusy =true; eklemek gerekir.

Ya da bir metod yazılır,her defasında o çağırılır.

Görüntü aşağıdaki gibi olur.




Silverlight Textbox kontrolü İçin Satır Dolduğunda Yazdıklarım Aşağı İnsin Proportiesi

Merhaba Arkadaşlar,
Silverlight da textbox kontolü için satır dolduğu zaman yazdıklarınız aşağı insin istiyorsanız "Texttwrapping" proportiesinin değiştirmeniz gerekir.
Defaultta şu şekilde yazılır,yani yazının tamam mı bir satıra yerleşir.





Aşagıdaki gibi "textwrapping" proportiesini "wrap" yaparsak satır dolduktan sonra alt satıra geçer.






DERYA GÜNDÜZ

28 Aralık 2011 Çarşamba

Web Development Helper

Web Development Helper client ile server arasındaki trafiği inceleyip bize haber verir,bunları loglaya da bilirler.web development helper şu şekilde açılır:
Çalışan Projede=>tools=>explorer bars=>web development helper



DERYA GÜNDÜZ

İki Primary Key'li Olan Tablolar Arasındaki Relationlar

Eğer İki Primary Key'i olan tablo ile başka bir tablo arasında realtion kuracaksanız(bu iki primary keyi olan tablodaki primary keylerden biri diğerine foreign key olacaksa),direk bir tanesini alıp bağlamaya çalışırsanız hata ile karşılaşırsınız.
Senaryomuz şu şekilde:


Aslında siz iki sadece isyeri bilgisini bağlamak istiyorsunuz.Bunu denerseniz şöyle bir hata alırsınız:
Bunun içinde foreign key olacak tabloda da iki alanın olması gerek(isyeri ve sirket alanları).İkisini birden bağlamak gerekecek.
Aşağıdaki gib bağladıktan sonra hata almayacaksinizdır:


DERYA GÜNDÜZ

Runtime Error-Giderilmesi

Projenizi çalıştırdığınız herhangi bir zamanda çalışan proje ile beraber böyle bir hata alırsanız ne yapmalısınız?
Sadece proje derlerken değil bilgisayar açık olduğu başka zamanlarda da "ok" dediğiniz halde karşınıza tekrar tekrar gelebilir.
İşte "Runtime Error" :)))

Hatanın nedeni daha önce kurulu olan c++lar ile diğerlerinin çakışmasıdır,eskisini silmek sizi bu hatadan kurtaracaktır.
Denetim Masası=>Programlar=>Program Ekle/Kaldır=>


Seçili olanı kaldırmanız yeterli olacaktır,tabi diğer eskileri de kaldırmanız tavsiye olunur:)


DERYA GÜNDÜZ

Microsoft Sql'de "Collasion" Hatasının Giderilmesi

Merhaba Arkadaşlar,
Üzerinde çalıştığım bir projede karşılaştığım bir problem ve nasıl giderildiğini sizlerle paylaşmak  istiyorum.Siz de aynı hata ile karşılaşırsanız,çözmeniz kolaylaşır.
Aldığım hata "Collasion" Hatası idi.Tablolar arasında relation yaparken relation kurmaya izin vermeyip aşağıdaki gibi bir hata aldım.




Hata dil ile ilgiliymiş.Tablodaki bağlamak istediğimiz alanlardaki dil seçeneklerinin aynı olması gerekiyor.Tablo1 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:


Tablo2 deki kolonun dil seçeneği(bağlamak istediğimiz kolonlardan biri) aşağıdaki gibi ise:
Collasionun nedeni bu iki dil seçeneğinin aynı olamamasıdır.
Bu hatayı düzeltmek için ise ikisnin dil seçeneği aynı yapılmalıdır.
Collasion seçeneğinin yanındaki 3 nokta tıklanarak dil seçilir.

Böylelikle bu hatayı gidermiş oluyoruz.Umarım faydalı olmuştur.

DERYA GÜNDÜZ

30 Ekim 2011 Pazar

LINQ(LANGUAGE INTAGRATED QUERY)


Linq Nedir,Nerelerde Kullanılır?
Linq’uin Türkçe karşılığı “Dİl ile Bütünleştirilmiş Sorgu”dur .Linq teknolojisi,  .Net Framework 3.5 ile beraber  ortaya çıktı.Linq teknolojisi ile veriye daha kolay erişebilir ve veri üzerinde  tıpkı veri tabanı sistemlerindeki gibi basit sorgular gerçekleştirebiliyoruz.Genelde veri kaynağı olaral XML ve ilişkisel veri tabanları kullanırız.Linqin yaptığı şey programlama dilinde tek bir veri tabanı kaynağına erişmek yerine  veri erişimini programlama dili ile tümleşik bir şekilde sunmaktır.Linq, sqldeki gibi sorgular yapılmasını sağlar fakat farklı olarak bu sorguları nesnel ifadeler ile yapar,bu ifadeler ile veri kaynağı arasındaki iletişimi sağlayan da Linq dir.Linq yazdığımız sorguları  IEnumerable<T> türevli tipler üzerinde kullanabiliyoruz.
Lİnq’de kullanılan sınıflar:
·         System.Query:Sorguların gerçeklştirilmesi için gerekli olan sınıfları içerir.
·         System.Xml.Xlinq:Xml dökümanlarının sorgulanabilmesi için gerekli olan sınıfları içerir
·         System.Linq :Linq e ait sınıf ve arabirimler bu sınıf altında bulunur.
·         System.Data.Linq:Sql tablolarının sorgulanması için gerekli olan sınıfları içerir
Linq Çeşitleri:
Lİnq;linq veritabanları,ado.net,xml  ve bellekte bulunan veriler için bize özel sağlayaccılar sunar.
Bunlar:
·         Lİnq to Object:Koleksiyonları sorgulama yarar.Fakat sadece Ienumerable<T> arabirmini destekleyen koleksiyonlar sorgulanır.System.Linq.Enumarable a ait fonksiyonlar kullanılır.
·         Linq to XML(Xlinq):Xml belgelerini sorgulamak için kullanılır,bu verileri hızlı ve kolay sorgulama yeteneği kazandırıyor.System.Xml.Lİnq  kütüphanesini kullanılır.
·         Lİnq to SQL(Dlinq):İlişkisel veri tabanlarının sorgulanmasını sağlar,bunlar sorgularken güç ve performans kazandırır.Linq ile sql arasındaki iletişimi DBML(Database Markup Language-Veritabanı İşaretleme Dili) sağlar.
·         Linq to Dataset:Ado.Nettek Dataset nesnelerinin ilişkisel veritabanı gibi sorgulanmasını sağlar.



Ado.Net ve Linq to Sql Arasındaki fark:
Linq to Sql den önce veritabanından veri çekmek için Ado.Net kullanılırdı(Günümüzde de kullanılıyor tabi ki).Linq to sqlde kullanım kolaylığı ve kod kısalığı vardır.Ado.Nette veri çekmek için connection string,sqlcommand,dataset,bağlantıyı açma kapama gibi işlemler yapmak zorundayız.Bu da çok fazla kod gerektiren yazılımlar için çok yük getirir.Performans açısından ise hemen hemen aynılar.Kullanım tercih ve alışkanlığa bağlı tabi ki.

Linq To Sql Örneği:


Linq to Sql Kullanırken Takip Edilecek Adımlar:


1)Projeye ters tıklayıp add-new item deyip,linqtosql Classes eklemek ,



2)Classa isim verdikten sonra ekleme işlemi tamamlanmış olur,
 

3)Northwind.dbml classı oluşturulmuş oldu,buraya kullanmak istediğimiz veritabanı ve içeriğindeki kullanılacak olan tabloları eklememiz gerekir.


4)Kullanılmak istenen veritabanını server explorer kısmından eklememiz gerekecek.Data Connections üstine ters tıklayıp-add connection dedikten sonra aşağıdaki ekran karşımıza gelecektir,burdan server adı ve veritabanı adı seçilip eklenir.Ben bu örnekte hazır veritabanı olan Northwind’I ekledim

5)Veri tabanını server explorer a  ekledikten sonra veritabanı kullanılmaya hazırdır.Veritabanını istediğimiz kısmını kullanabiliriz.Bütün tablolara burdan erişebiliriz,kullanacaklarımızı sürükle bırak ile .dbml cllasına eklemeliyiz.



Bundan sonrası linq to sql in işi,kod tarafında istediğimiz sql sorgularını gerçekleştirebiliriz.

Örnek bir uygulama olarak aşağıdaki kod parçasını inceleyebiliriz:
Hazır veritabanı olan Northwind içindeki ürünleri getirmek için aşağıdaki metod kullanılabilir.
Az once eklemiş olduğuz Northwind linq to sql classını kullanmak için DataContexten  nesne oluşturmak gerekir.

  NorthwindDataContext db = new NorthwindDataContext();

  void Urundoldur(int id)
        {
         grdUrunler.DataSource = from p in db.Products
                     where p.CategoryID == id
                     select new
                        {
           Adi = p.ProductName,
           Stok = p.UnitsInStock,
           Fiyat = p.UnitPrice,
           Tedarikçi = p.Supplier.CompanyName,
           Kategorisi = p.Category.CategoryName
                                  };
          grdUrunler.DataBind();
        }

 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri