22 Ağustos 2014 Cuma

ADO.NET Entity Framework Giriş

Bu makalemizde Microsoftun ORM araçlarından Entity Framework yapısını kullanarak bir data modeli oluşturacağız ve bu model ile veritabanından nasıl select işlemi yapacağımızı öğreneceğiz.
Entity Framework hakkında teorik bilgileri internette bolca bulabilirsiniz bu yüzden bu konulara değinmeyi düşünmüyorum. İlk olarak visual studio 2008 veya 2010 kullanarak yeni bir websitesi oluşturalım. Oluşturduğumuz web sitesine aşağıdaki gibi bir “entity framework data model” ekleyelim.

Yukarıda gördüğünüz gibi ADO.NET Entity Data Model’i seyiyoruz ve bir isim veriyoruz. Daha sonra add deyip diğer adıma geçiyoruz.
Biz bu örneğimizde modelimizi var olan bir veritabanı üzerinden oluşturacağız. Tam aksine önce modeli oluşturup EntityFramework’ün veritabanını kendisinin oluşturmasını sağlayabiliriz. Next dedikten sonra gelen ekranda “new connection” deyip aşağıdaki ekranda gördüğümüz gibi var olan bir veritabanı için connection oluşturuyoruz.

Örneğimizde AdventureWorks veritabanını kullanıyoruz.
Bağlantı ayarlarımız yaptığımız zaman yukarıdaki ekranda bu bağlantı bilgisi için web.config dosyasında kullanılacak ismi belirleyip next diyoruz.
Gelen yukarıdaki ekranda “Tables” sekmesini seçip kullanacağımız tabloları seçiyoruz. Biz örneğimizde Product , productCategory ve productSubCategory tablolarını kullanıyoruz. Bu adımda Finish dediğimiz zaman modelimiz kullanılmaya hazır hale gelecek. Modelimizin görüntüsü aşağıdaki gibi olacaktır.


Şimdi gelelim bu modeli kullanarak veritabanından nasıl veri çekeceğimize.
Default.aspx sayfasına bir iki adet dropdownlist ve bir adette gridview ekleyelim. Sayfamızın html kısmı aşağıdaki gibi olacak.
<table>
    <tr>
        <td>
            <asp:DropDownList ID="KategoriDropDownList" AutoPostBack="true"runat="server" OnSelectedIndexChanged="KategoriDropDownList_SelectedIndexChanged">
            </asp:DropDownList>
        </td>
        <td>
            <asp:DropDownList ID="AltKategoriDropDownList" runat="server">
            </asp:DropDownList>
        </td>
        <td>
            <asp:Button ID="UrunleriGetirButton" runat="server" Text="Ürünleri Getir" OnClick="UrunleriGetirButton_Click" />
        </td>
    </tr>
    <tr>
        <td colspan="3">
            <asp:GridView ID="UrunlerGridView" runat="server">
            </asp:GridView>
        </td>
    </tr>
</table>

Şimdi ilk olarak sayfa yüklenirken kategori dropdownlistini dolduralım. Kategori seçilincede alt kategorileri dolduralım.
İlk olarak kategorileri doldurmak için aşağıdaki kodu yazın.
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        KategorileriGetir();
    }
}

private void KategorileriGetir()
{
    DemoEntities entity = new DemoEntities();
    List<DimProductCategory> kategoriList = entity.DimProductCategory.ToList();
    KategoriDropDownList.DataSource = kategoriList;
    KategoriDropDownList.DataValueField = "ProductCategoryKey";
    KategoriDropDownList.DataTextField = "EnglishProductCategoryName";
    KategoriDropDownList.DataBind();


}

İkinci olarak kategori seçildiği zaman aşağıdaki kodu yazarak alt kategorileri dolduralım.
protected void KategoriDropDownList_SelectedIndexChanged(object sender, EventArgse)
{
    int KategoriKey = Int32.Parse(KategoriDropDownList.SelectedValue);
    DemoEntities entity = new DemoEntities();

    var query = from c in entity.DimProductSubcategory
                where c.DimProductCategory.ProductCategoryKey == KategoriKey
                select c;

    AltKategoriDropDownList.DataSource = query.ToList(); ;
    AltKategoriDropDownList.DataValueField = "ProductSubcategoryKey";
    AltKategoriDropDownList.DataTextField = "EnglishProductSubcategoryName";
    AltKategoriDropDownList.DataBind();
}

Yukarıdaki adımları tamamladığımız zaman kategori ve alt kategori alanları ile olan işlemimiz bitmiş oluyor. Şimdi ise ürünleri getir butonuna basınca seçilen kategorideki ürünleri alıp gridview içine atalım.
protected void UrunleriGetirButton_Click(object sender, EventArgs e)
{
    int AltKategoriKey = Int32.Parse(AltKategoriDropDownList.SelectedValue);
    DemoEntities entity = new DemoEntities();

    var query = from p in entity.DimProduct
                where p.DimProductSubcategory.ProductSubcategoryKey == AltKategoriKey
                select new { p.ProductKey, p.EnglishProductName, p.Color, p.TurkishDescription };

    UrunlerGridView.DataSource = query.ToList(); ;
    UrunlerGridView.DataBind();
}

Yukarıdaki kodu inceleyecek olursanız product tablosunda sadece istediğimiz kolonları getirdik, bunun içinde new deyip yeni bir tanımlama yaptık.
Sonuç olarak işlemlerin sonucunda aşağıdaki gibi bir ekran çıktımız oldu.

Excelde Satırları Sutun - Sutunları Satır haline Getirmek

Excelde Satırları Sutun - Sutunları Satır haline Getirmek

Excelde bir tabloyu yataydan dikeye veya dikeyden yataya çevirmeniz gerektiği zaman bunu manuel olarak yapmak gerçekten çok zaman alıcı ve sıkıcı bir işlemdir.
Ne varki Excel bu tür işlemleri hızlıca yapabilmemiz için harika bir tool. Sadece tabloyu copy paste yaparak bu işlemi aşağıdaki gibi yapabilirsiniz.
Örneğin aşağıdaki gibi bir tablo içeren bir excel sayfamız olsun.
excel transpose işlemi
Yukarıdaki tabloyu kolonlar satıra, satırlar kolona gelecek şekilde değiştirmek istersek, ilk olarak tüm tabloyu seçip kopyala(copy) diyoruz, sonra istediğimiz boş bir yere sağ tıklayıp özel yapıştır (paste special) diyoruz. Aşağıdaki gibi bir ekran açılıyor.
excel transpose işlemi 


excel transpose işlemi
Yukarıdaki ekranda "İşlemi tersine çevir" seçeneğini işaretleyip tamam diyoruz. (ingilizce kullanıyorsanız "Transpose")
excel transpose işlemi
Hepsi bu kadar.

Excel’de Kullanıcı Tanımlı Fonksiyonlar (UDF = User Defined Functions)

Excel’de Kullanıcı Tanımlı Fonksiyonlar (UDF = User Defined Functions)
Excel’de tanımlı yüzlerce standart fonksiyon olmasına rağmen bazen bu fonksiyonlar ihtiyaçlarınızı karşılayamaz veya bu fonksiyonları iç içe kullanmak zorunda kalıp uzun fonksiyonların içinde kaybolursunuz. Bu makalenin ilk bölümünde Excel’de kullanıcıların kendi fonksiyonlarını tanımlamalarını ve ikinci bölümde ise bunları eklenti olarak Excel’e tanıtmayı öğreneceksiniz. Fonksiyonlar için orta seviyede Visual Basic 6.x bilgisi yeterli olacaktır.
Kullanıcı Tanımlı Fonksiyon (KTF) Nasıl Oluşturulur?
1.      Yeni bir Excel kitabı açın.
2.      Visual Basic Düzenleyicisi’ni başlatın. (Kısayol: Alt + F11)
3.      Yeni bir modül ekleyin. (Insert -> Module)
4.      Module1 adlı modülün içine kendi fonksiyonunuzu yazın.
5.      Visual Basic Düzenleyicisi’ni kapatın. (Kısayol: Alt+Q ya da Alt+F4)
6.      İşlev Ekle butonuna tıklayın. (Kısayol: Shift + F3) 
7.      Kullanıcı Tanımlı kategorisini seçin. Karşınızda sizin yarattığınız fonksiyonlar görünecektir.
Basit bir KTF
Bu örnek kullanıcının belirttiği iki kenar uzunluğunu kullanarak bir dik üçgenin hipotenüs uzunluğunu hesaplar.
Function Hipotenus_Hesaplama(ByVal Kenar_Uzunlugu_1 As Integer, ByValKenar_Uzunlugu_2 As Integer) As Double

        Hipotenus_Hesaplama = Math.Sqr(Kenar_Uzunlugu_1 ^ 2 + Kenar_Uzunlugu_2 ^ 2)

   End Function

Biraz daha karmaşık bir KTF
Bu örnek ise kullanıcının belirlediği bir sayının asal sayı olup olmadığını kontrol eder ve sonucu “Asal sayı” veya “Asal Sayı Değil” olarak döndürür.
    Function Asal_Sayi_Kontrol(ByVal Sayi As Integer) As String

        Dim i As Integer

‘Sayı çift ise veya 2’den küçük bir sayı ise döngüye girmeden sonuç döndürülür
        If i Mod 2 = 0 or i < 2 Then
            Asal_Sayi_Kontrol = "Asal sayı değil"
        Else
            For i = 3 To Math.Sqr(Sayi) Step 2
                If Sayi Mod i = 0 Then Asal_Sayi_Kontrol = "Asal sayı değil": Exit Function
            Next i
        End If
        Asal_Sayi_Kontrol = "Asal sayı"

    End Function
İsteğinize bağlı daha karmaşık fonksiyonlar yaratmak sizin elinizde fakat KTF’nin bazı kısıtlamaları mevcuttur. En bilinen kısıtlamalar ve dezavantajları şunlardır:
1.      Bir hücrenin veya bir çalışma sayfasının yapısını ve biçimini değiştiremezsiniz.
2.      Formülü içeren hücre dışında başka bir hücreyi değiştiremezsiniz.
3.    C++ veya FORTRAN dillerinde yazılan fonksiyonlardan daha yavaş çalışırlar.
KTF’leri Eklenti olarak Excel’e tanıtma
1.      Farklı Kaydet seçeneğini seçin. (Kısayol: F12)
2.      Açılan Farklı Kaydet diyalog kutusundan Kayıt Türü’nü Excel Eklentisi olarak seçin.
Bundan sonraki aşamalar Excel 2007 ve Excel 2003 arasında farklılık göstermektedir.
Excel 2007
1.       Excel’in sol üst köşesindeki Office butonunu tıklayın.
2.       Excel Seçenekleri butonunu tıklayın.
3.       Açılan Excel Seçenekleri formundan Eklentiler sekmesini seçin.
4.       Yönet Açılır Listesi’nde Excel Eklentileri seçili olduğundan emin olun ve Git butonuna tıklayın.
5.       Karşınıza gelen Eklentiler formunda Gözat butonuna tıklayın.
6.    Eklenti dosyanızı bulun ve Tamam butonuna tıklayın.

19 Ağustos 2014 Salı

Bu seçenek yöneticiniz tarafından denetleniyor

Google Chrome da ayarlar bölümünde Ana sayfa, Arama gibi bölümleri değiştiremiyorum. Ana sayfa, arama gibi bölümlerin yanında gri renkli bir kilit simgesi var ve değiştirmek için fareyi bu gri alanlara götürdüğümde Bu seçenek yöneticiniz tarafından denetleniyor mesajı görüntüleniyor.
Ana sayfa ve  arama, arama motorlarını yönet, sayfaları ayarla, belirli bir sayfayı veya sayfaları aç gibi bölümleri değiştiremiyorum.
Chrome'da Bu seçenek yöneticiniz tarafından denetleniyor hatasının çözümü nedir? Yanıtı aşağıda

Eğer sorununuz Chrome ana sayfanızın değişmiyor olması ise  bunu yapın:
NetMahal tarayıcı korsanı nasıl temizlenir?

Chrome Bu seçenek yöneticiniz tarafından denetleniyor hatasını çözümüGoogle Chrome'da bu hatayı almanızın birinci sebebi, bilgisayarınıza bir zararlı yazılımın yüklenmiş olmasıdır.
Reklam yazılımları, malware, virüs gibi yazılımlar Google Chrome  ayarlarını kilitler ve değiştirmenize engel olur.
Eğer zararlı bir reklam yazılımı sisteminize yüklenmişse  Ana sayfa ve  arama, arama motorlarını yönet, sayfaları ayarla, belirli bir sayfayı veya sayfaları aç gibi bölümleri değiştiremezseniz.
Zararlı yazılım Windows ilkelerini kullanarak bu bölümlerde işlem yapmanızı ayarları değiştirmenize engel olur.
Bu seçenek yöneticiniz tarafından denetleniyor hatasını çözmek için iki adım uygulayacağız
  1. Malware, virüs ve diğer zararlı yazılımları önce temizlemelisiniz.
  1. Windows ilkelerini silmelisiniz.
önemli
Bu adımları izlerken Google Chrome yerine
Internet Explorer, Firefox, Opera ya da Yandex  tarayıcılarından birini kullanın.
Chrome kullanmayın.  Virüs temizleme bittikten sonra Chrome kullanabilirsiniz.önemli
Adım 1: Bilgisayardaki virüslerin temizlenmesi, malwarelerin temizlenmesi
  1. Bilgisayarınıza Malwarebytes anti-malware indirin ve burada anlatıldığı gibi bilgisayarınızı taratın.
  1. Malwarebytes nedir nasıl kullanılır
  1. Çifte kontrol için bilgisayarınızı HitmanPro ile taratın. Farklı yazılımlar farklı virüsleri bulabilir. Bu sebepten çifte kontrol yapmalısınız.
  1. HitmanPro nedir nasıl kullanılır linkinden  HitmanPro'yu indirebilirsiniz.
  1. Adwcleaner ile bilgisayarınızdaki reklam yazılımlarını temizleyin.
  1. Adwcleaner nedir nasıl kullanılır
Adım 2:  Windows ilkelerinin silinmesiBu aşama zararlı yazılım tarafından oluşturulan Windows ilkeleri silinecektir.
  1. Masaüstünden Bilgisayarım'ı tıklayın.
  1. C:\ sürücünde Windows klasörünü çift tıklayın.
  1. System32 klasörünü çift tıklayın.
  1. C:\Windows\System32 klasöründe GroupPolicy klasörünü bulun. Eğer bu klasör görünmüyorsa klasör gizli demektir.
  1. Klavyenizden alt tuşuna basın.
  1. Yukarıda beliren Araçlar menüdünden Klasör Seçeneklerini tıklayın.
  1. Görünüm sekmesini tıklayın.
  1. Görünümde şu değişiklikleri yapın
  1. - Gizli dosya, klasör ve sürücüleri göster işaretleyin
  1. - Korunan işletim sistemi dosyalarını gizle (önerilen) işaretini kaldırın.
  1. Korunan işletim sistemi dosyalarını gizle (önerilen) işaretini kaldırın.
  1. Uygula butonu sonra da Tamam'ı tıklayın.
  1. Şimdi C:\Windows\System32 altında GroupPolicy klasörü görünecektir. Bu klasöre girin.
  1.  C:\Windows\System32 altında GroupPolicy klasörü
  1. Machine klasörüne girin.
  1. Registry.pol dosyasını silin.
  1. Bilgisayarı yeniden başlatın.
Bilgisayarınız yeniden başladığında Chrome tarayıcınızın normale döndüğünü ve Bu seçenek yöneticiniz tarafından denetleniyor hatasının çözülmüş olduğunu göreceksiniz.