Coder

31 Mayıs 2011

Sql’de hesaplanmış kolon oluşturmak

MsSql’de veritabanımız içindeki tablo içinde bazen iki kolon yani alandaki değeri kullanarak ortak iş yaptırabiliriz. Örnek vererek açıklayacak olursam; ürün tablomuzda ürün miktarı ve ürün birim fiyatı alanlarımız olsun, haliyle ürün miktarı*ürün birim fiyatı ilgili ürünün toplam fiyatını verecektir.

İlgili resimdeki gibi Ürün tablomuza kolonları oluşturalım (UrunAdi, UrunMiktar ve UrunBirimFiyat). Burada, ToplamFiyat kolonunu tabloyu oluşturduğumuz Design kısmında eklemediği mi söyleyeyim. ToplamFiyat’ı ilk cümlelerimde belirttiğim gibi UrunMiktar ve UrunBirimFiyat çarpılması sonucunda otomatik olarak(hesaplanmış) kendisinin eklemesini istiyoruz. Bunu yapabilmek için;

[cc lang="sql"]Alter Table tblUrun ADD ToplamFiyat as UrunMiktar*UrunBirimFiyat[/cc]

tblUrun tablomuza Alter Table deyimi ile ToplamFiyat isminde hesaplanmış kolon oluşturuyoruz. Bu kolonu eklediğimizde yalnızca ürünün miktarı ve birim fiyatını girip alt satıra geçtiğimizde hesaplanmış toplam fiyat alanı otomatik gelecektir.

Tablomuzda ürünün toplam kdv dahil fiyatını da otomatik eklenmesini isteyebiliriz. Bunu yapabilmek için toplam fiyatın %18′ini almamız gerekir. Fakat toplam fiyat alanımız hesaplanmış alan olduğu için formüle toplam fiyatı değil de tekrardan miktar ve birim fiyatını işin içine katarak yapmamız gerekir.

Hadi buyurun şimdide hesaplanmış KDV dahil fiyat kolonunu oluşturalım;

[cc lang="sql"]Alter Table tblUrun ADD KDVDahilFiyat as (((UrunMiktar*UrunBirimFiyat)/100)*18)+(UrunMiktar*UrunBirimFiyat)[/cc]

Görüldüğü gibi hesaplanmış kolonu gerçek bir kolon gibi kullanamıyoruz. Mesela Stored Procedure yazdığımızı düşünelim, bu procedure içinde hesaplanmış kolonu yazdığımızda procedure’ü oluşturmayıp hata verdiğini göreceksiniz.

25 Mayıs 2011

ListView değerleri toplama

Listelemek için en çok kullandığımız ListView kontrolünde listelediğimiz, örneğin; ürün, fiyat listesi vs. ıvırzırvırın toplam fiyatını hesaplamak isteyebiliriz. Bunu nasıl yaparız, tam olarak neyi ima ettiğimi anlamak için resimdeki gibi form ekranına 2 textbox, 2 buton, bir kaç label ve bir adet ListView sürükleyin.

Örneklemek için ListView’e birkaç ürün ve fiyat bilgisi girmek üzere textboxları kullandım. Ekle butonuna çift tıklayıp Textbox’dan ListView’e değer girmek için;

[cc lang="c#"]
ListViewItem lv = new ListViewItem();
lv.Text = txtadi.Text;
lv.SubItems.Add(txtfiyat.Text);
listView1.Items.Add(lv);

[/cc]

ListView’e ürün ve fiyat bilgisini ekletmeyi başardıktan sonra topla butonu ile buradaki ürünlerin toplam fiyatını bulalım;
[cc lang="c#"]double toplam = 0;

double[] topla = new double[listView1.Items.Count]; // sonuç ondalıklı değer çıkabilir, işimizi sağlama alabilmek için double kullandık

for (int i = 0; i < listView1.Items.Count; i++) //Listviewdeki tüm değerleri alabilmek için for kullandık { topla[i] = Convert.ToDouble(listView1.Items[i].SubItems[1].Text.ToString());// burada dikkat edilmesi gereken, SubItems değeri 2 kolon olduğu için 0. kolon ürünün adı 1. kolon ise fiyatı göstermekte toplam = toplam + topla[i]; } lblsonuc.Text = Convert.ToString(toplam);[/cc] Gerekli açıklamayı kod içinde bulabilirsiniz. Topla dediğimizde sonucu label' a yazdırdık. Cemal hocamın tavsiyesi üzerine foreach kullanarak da toplama işlemi gerçekleştirilebilir.

12 Mayıs 2011

Combobox seçilene göre işlem yapma

Combobox’daki itemlara göre işlem yaptırabilir. En bilindik örneği hatırlarsak, web sitesini arka plan rengini kullanıcıya combobox’daki değerler sayesinde seçtirebiliriz.

Şimdi daha farklı bir örnek ile işlem yaptıralım. İçinde katı, sıvı, adet ürün isimleri bulunup, seçilen değere göre katı ürün ise label da gram yazdırıp, sıvı ürün ise mililitre veya adet üründe adet yazısını gösterebiliriz. Bunu yapabilmek için forma resimdeki gibi bir Combobox, Label ekliyoruz. Eklediğimiz Combobox’ın üzerine tıkladığımızda item eklemek için minik ok işreti göreceksiniz, buna tıklayıp Edit Items… dan değerleri girin(katı ürün, sıvı ürün vs.) ve ardından üzerine çift tıklayarak SelectedIndexChanged olayına gelelim. Bundan sonraki kısım görüldüğü üzere;

[cc lang="c#"]string turusec = comboBox1.SelectedItem.ToString();

switch (turusec)
{
case “Katı Ürün”:
label1.Text = “Gram”;
break;
case “Sıvı Ürün”:
label1.Text = “Mililitre”;
break;
case “Adet Ürün”:
label1.Text = “Adet”;
break;

}[/cc]

Combobox seçili değerini turusec isminde string değişkenine atayıp, Switch-Case ile seçili değere göre label1.Text’ine ekrana yazdırılacak değeri girip işlem yaptırıyoruz.

11 Mayıs 2011

Visual Studio kod satırlarını numaralandırma

Filed under: Visual Studio — Etiketler:, , , — Murat M.oğlu @ 21:00

Visual Studio 2010′da veya diğer sürümlerde kod kısmını daha rahat kullanabilmek, olası hataları daha çabuk bulabilmek amacıyla sol tarafta kod satır numaraları bulunmaktadır. Visual Studio kurduğumuzda default olarak bu numaralandırma gelmez. Kod ekranına bunu sağlamak için üst menüden Tools – Options – Text Editor – All Languages seçeneklerine sırasıyla gelerek resimdeki gibi Line Numbers kutusunu işaretliyoruz. Ardından Ok ‘a basıp hayatımıza kaldığımız yerden devam ediyoruz…

01 Mayıs 2011

Veritabanı grupları OLAP ve OLTP

Filed under: Sql Server — Etiketler:, , , — Murat M.oğlu @ 22:23

Kaç çeşit veritabanı sorusuna cevaben, veritabanı çözümlerini iki gruba ayırabilir. OLAP(Online Analiytical Proccessing) ve OLTP(Online Transaction Proccessing).

Daha yaygın kullanılan veritabanı türü OLTP diyebiliriz. OLTP amaçlı kullanım, sık sık güncelleme, yeni kayıtların devam ettiği sistemdir. E-ticaret siteleri OLTP veritabanı grubuna örnek verebiliriz. Veya Turkcell’in veritabanını örnek alabiliriz, çünkü her an aktif kullanıcı işlemleri yapılmakta.

OLAP amaçlı kullanım ise, veri ambarı desteği , istatistiksel bilgileri gibi daha çok okuma, raporlama amaçlı kullanılan veritabanı grubudur.

Powered by WordPress