[C#] Enum değerlerini dropdownlist’e bind etme

Yaratmış olduğumuz enumları dropdown’ımıza bind edip gelen değeri enum değerine çevirerek cast işlemlerinden kurtulabiliriz.
Aşağıdaki şekilde jenerik bir metod yazıyoruz.

        public static List<ListItem> GetList<TEnum>() where TEnum : struct
        {
            List<ListItem> items = new List<ListItem>();
            foreach (int value in Enum.GetValues(typeof(TEnum)))
            {
                items.Add(new ListItem
                {
                    Text = Enum.GetName(typeof(TEnum), value),
                    Value = value.ToString()
                });
            }
            return items;
        }

Continue reading

[HATA] “Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.”

Eğer ki bu hatayı alıyorsanız: “Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.” Bunun bir kaç sebebi olabilir. Yüksek ihtimalle Response.Redirect yada Server.Redirect yada Response.End kodlarından birisini kullanıyorsunuzdur.

Hatanın Sebebi : 

Response.End metodu sayfanın çalışmasını sonlandırır ve Application_EndRequest olayının application’s event pipeline’daki çalışmasını değiştirir. Böylece Response.End metodunu izleyen kod satırları çalıştırılamaz.

Continue reading

[T-Sql] Triggerlar

Öncelikle herkese merhaba,
Bu yazımda Trigger’ları anlatmaya çalışacağım. Faydalı olması dileğiyle.

Tablolar üzerinde gerçekleştirilen DML komutlarına bakarak belli başlı işlemlerin tetiklenmesi olayına Trigger denir. Trigger’ın karşılığı tetiklemedir. Örneğin bir silme anında verinin silinmesi yerine silindi kolonunun true yapılmasında tetikleyiciler iş yapar. For, After ve instead of modlarında kullanılır.
Örnek kullanım şekli:

create trigger TriggerAdi
on TabloAdi
for Islem
as
--yapılmasını istediğiniz işlemler...

Continue reading

[T-Sql] Fonksiyonlar

Öncelikle bu yazıyı okuyan herkese merhaba,
Uzun süredir (yaklaşık 1 hafta) yazı yazamıyordum. Projelerdi,iş başvurularıydı,görüşmelerdi derken yazıları baya bir aksattık. Hemen bu farkı kapatmalıyız.
Bu yazıda ms-sql deki fonksiyonlardan bahsedeceğiz.

Fonksiyonlar C# taki değer dönen metotlar gibidir. Kullanıldıkları satırda bir veri elde eder. Elde ettiği veriyi tekrar komut satırında çalıştırabiliriz. Aynı şekilde stored procedures için de metod benzetmesi kullanmıştık. Aralarındaki fark stored procedure’ler exec komutu ile çalıştırılabilirler,fonksiyonlar ise select ifadeleri içerisinde kullanılırlar.

System Functions: Veritabanında programability altında function sekmesinin içinde system functions sekmesinde bulunur.

Aggregate Functions : Kümeleme fonksiyonlarıdır. Bir küme içinde işlem yapmak için kullanılırlar.

sum(),count(),max(),min(),avg() gibi

Configuration Functions : Db ayarı getirmek veya değiştirmek için kullanılırlar.

Scalar Functions : Belirli parametreleri alıp geriye tekil değer döndüren fonksiyonlardır.

Table Valued Functions : İşlem sonucunda geriye tablo dönen fonksiyondur.

UserDefined Functions : Kullanıcıların tanımladıkları fonksiyonlardır.

Continue reading

[T-Sql] Stored Procedure

Merhaba arkadaşlar, Geldik dananın zort dediği yere 😀

Biz programcıların en değer verdiği şey sanırım bizim işimizi yapan metodlardır. Bir sefer yazdığımız metodları belki 10 belki 100 kez kullanmışızdır. Bu da bizi büyük bir yükten kurtarmıştır aslında. Konumuz aslında Stored Procedure ama neden metodlardan girdim derseniz ikisi arasındaki benzerliktir cevabım.

Store Procedure parametre alabilen Executable(select ile çağrılmayan) C# daki metotlara benzeyen bir yapıdır. Yapılacak bir işlemi bir kere programlayıp daha sonra çağırarak kullanılmasını sağlar. View’deki gibi güvenlik ayarları sayesinde kullanıcılar üzerinde kısıtlılık oluşturur. Amacı işlemi  tanımlamak ve çağırarak kullanılmasını sağlamaktır.

Continue reading

[T-Sql] View

Merhaba arkadaşlar,
Bu yazımda View’lerden bahsedeceğim.
View‘ler bir veya birden fazla birleşmiş tablonun tek bir tablo gibi davranmasını sağlamak(Sanal tablo) için kullanılır.
Aşağıdaki şekilde oluşturulurlar:


create view miniProducts
as
select 
       p.ProductID,
       p.UnitPrice,
       p.UnitsInStock 
   from Products as p

Continue reading

[T-Sql] DDL (Data Definition Language)

Veritabanı üzerinde nesne oluşturma değiştirme silme işlemleri için kullanılan komutlardır. Bu komutlar tutulan verileri değil, veritabanı içerisinde verinin tutulması veya işlenmesi için kullanılan elemanları işleyen sorgulardır.

Sorgu Çeşitleri :

Create: Yeni bir nesne tanımlamak için kullanılır.

Alter: Nesnenin değiştirilmesi için kullanılır.(Birçok kaynakta güncellenmesi olarak geçer ancak alter var olana eklemek için değil yapıyı yenisiyle değiştirmek için kullanılır.)

Drop: Serverdan veya Database’den herhangi bir elemanı kaldırmak için kullanılır.

Varsayılan ayarlarda veritabanı oluşturur.

Continue reading