C# Veritabanı İşlemleri

Merhaba arkadaşlar bu yazımda size C# ile veri tabanı işlemlerinden bahsedeceğim. Anlatımlarım da hem Access için gerekli kodları hemde MS SQL için gerekli olan kod parçacıklarını vereceğim. Bazı kod parçacıkları kendim kullandığım şekildedir.  İnternette araştırarak daha farklı şekilde de aynı işlemleri yaptırabilirsiniz.

Bağlantı (Connect) : Veri tabanının özellikleri, dosya yolu vb. gibi bilgileri içerir. Bu bigileri tutmak için Access’de OleDbConnetion, MS SQL’de ise SqlConnetion fonksiyonu kullanılır.

Access : OleDbConnection baglan = new OleDbConnection(“provider=microsoft.jet.oledb.4.0; Data Source=veritabanıAdı.mdb”);

MS SQL : SqlConnection baglan = new SqlConnection(“Data Source=./;Initial Catalog=veritabanıAdı;Integrated Security=true”);

 Kayıt Ekleme (İnsert) : Veri tabanına kolon isimlerine karşılık gelecek şekilde gönderilen parametreleri veri tabanına ekleme işlemini göstereceğim.

Access: 

baglan.Open();
 OleDbCommand cmd = new OleDbCommand("insert into ogrenci (Adı,Soyadı,Tel)values(@adi,@soyadi,@tel)", baglan);
 cmd.Parameters.AddWithValue("@adi", txtAdi.Text);
 cmd.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
 cmd.Parameters.AddWithValue("@tel", txtTel.Text);
 cmd.ExecuteNonQuery();
 baglan.Close();
 MessageBox.Show("Başarıyla Eklendi", "Bilgi");

MS SQL :

baglan.Open();
SqlCommand cmd = new SqlCommand("insert into musteriler(adı,soyadı,telefon,gsm,adres,mail,bilgi)values(@adi,@soyadi,@tel)", baglan);
cmd.Parameters.AddWithValue("@adi", txtAdi.Text);
cmd.Parameters.AddWithValue("@soyadi", txtSoyadi.Text);
cmd.Parameters.AddWithValue("@tel", txtTel.Text);
cmd.ExecuteNonQuery();
baglan.Close();
MessageBox.Show("Başarıyla Eklendi", "Bilgi");

Bu yazının devamını oku

C# Form Boyutunu Kitleme

Formunuzun boyutunun 2 aşamada büyümesini ve küçülmesini engelleyebilirsiniz:

1.Aşama

Kod:
this.FormBorderStyle = FormBorderStyle.FixedSingle;

Bu kodu formunuzun üstüne çift tıklayıp yazın.

2.Aşama

Formunuzun üstüne tıklayın ve ” Properties ” menüsünden ” MaximizeBox ” true konumdadır, bunu false yaptığınızda formunuzun boyutu hiçbir şekilde değiştirilemez.

Umarım İşinize Yarar.

C# ile Faktöriyel Hesabı

C# ile kullanıcının girdiği sayının faktörüyelini bulan Console uygulaması yapalım.

Bu makalemizde klavyeden girilen sayının faktöriyelini hesaplayan programın kodalarını yazacağız.

Kodlarımız;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace istenilen_sayı_kadar_toplam_alma
{
    class Program
    {
        static void Main(string[] args)
        {
            int toplam = 0, sayi;
            string cvp;
        bas:
            Console.WriteLine("Kaç sayıya kadar faktoriyel istiyosunuz");
            sayi = Convert.ToInt32(Console.ReadLine());
            for (int i = 1; i < sayi + 1; i++)
            {
                Console.WriteLine(i);
                toplam += i;

            }
            Console.WriteLine(sayi + "'ya kadar ki sayıların faktoriyeli=" + toplam);
            Console.WriteLine("Devam Etmek İstermisin Devam E Tuşuna Bitirmek İçin Herhangi Bir tuşa Basın");
            cvp = Console.ReadLine();
            if ((cvp == "e") || (cvp == "E"))
            {
                goto bas;
            }
        }

    }
}

Programımıza yine değişkenlerimizi tanımlayarak başlayalım int türündeki değişkenlerimiz; toplam değişkeni değerleri toplamak için kullanacağız ve bu değeri 0’a eşitliyoruz, 2. değişkenimiz ise sayi değişkenimiz ki bu değişkeni hangi sayıya kadar faktöriyel alacağımızı belirlemek için kullanıcıdan aldığımız değeri atamak için kullanacağız. 3. ve son değişkenimiz ise cvp değişkenimiz bu değişkenimizi ise kullanıcının devam edip etmeyeceğini sorduktan sonra bize dönen değeri atayacağımız değişkenimiz.

Kullanıcıdan hangi sayıya kadar faktöriyel hesabı yapacağımız değeri istiyoruz. Girilen bu değeri sayi değişkenine atadıktan sonra, for döngüsünü 1 den başlatarak sayi değişkenine kadar 1 artarak çalışacak şekilde yazıyoruz. Kullanıcının girdiği değere kadar olan sayıları ekrana yazdırarak toplam değeri üzerine i değerini ekliyoruz.
Hangi sayının faktöriyelini aldıysak o sayıyla birlikte programımızın bulmuş olduğu faktöriyel değerini ekrana yazdırıyoruz. Faktöriyel değeri ekrana yazdırıldıktan sonra kullanıcığının faktöriyel alma işlemine devam edip etmeyeceğini soruyoruz kullanıcı klavyeden “e” yada “E” harfine basarsa goto komutu sayesinde başta oluşturmuş olduğumuz bas etiket noktasına programı odaklayarak tekrar çalışmasını sağlıyoruz. Kullanıcı “e” yada “E” karakterlerinden herhangi birine basmadıysa program otomatik olarak sonlanıyor.

Hepinize çalışmalarınızda başarılar diliyorum.

C# Switch-Case Kullanımı

Switch-case; bir değişkenin aldığı bir çok değere göre farklı komutların çalıştırılması gereken durumlar için kullanılır. Genel yapısı şu şekildedir:

switch(değişken)
{
case durum1: komutlar; break;
case durum2: komutlar; break;
case durum3: komutlar; break;
……
default: komutlar; break;
}

Burada değişkenin değerine göre durumların karşısındaki komutlar çalışır. Eğer değişkenin değeri hiçbir duruma uymuyorsa default kısmındaki komutlar çalışır.

Switch-case için örnek kullanımlara bakacak olursak:

switch (sayi)
    {
        case 1: sonuc = "Pazartesi"; break;
        case 2: sonuc = "Salı"; break;
        case 3: sonuc = "Çarşamba"; break;
        case 4: sonuc = "Perşembe"; break;
        case 5: sonuc = "Cuma"; break;
        case 6: sonuc = "Cumartesi"; break;
         case  7:  sonuc  =   "Pazar";  break;
    }

Ayrıca birkaç durum için aynı komutu çalıştırmak için şu şekilde  kullanabiliriz:

  switch (sayi)
    {
        case 1:
        case 2:
        case 3: sonuc = "Üçüncü Seçim"; break;
        case 4:
        case 5:
        case 6: sonuc = "Altıncı Seçim"; break;
    }

Bunların dışında goto  case deyimi ile bir durumda diğer   durumların komutlarını çalıştırabiliyoruz. Bu deyimin kullanımı ise şu  şekilde:

   switch (sayi)
    {
        case 1: sonuc = "100"; break;
        case 2: sonuc = "200"; break;
        case 3: sonuc = "300"; break;
        case 4: goto case 1; //sonuc değeri 100 olacak

Böylece c sharp ile switch-case kullanımını görmüş olduk.

C# Progress Bar Kullanımı

Nedir bu progressbar ne işe yarar?

Öncelikle progressbar durum çubuğu demektr ve kullanıcıya yapılan işlem hakkında bilgi verir.Kısacası internet explorer’ı açın ve bir site açmaya çalışın eve sayfanın en alt kısmına yani resimdeki yere bakın

progress bar

Evet Burdaki yeşil şey bir progressbar ve bize sitenin ne kadar sürede açılıcağını gösteriyor(aşağı yukarı tabi :) ) Nese bizde bunun gibi bir program yapıcaz. Butona tıkladığımızda listbox’a sayılar eklenmeye başlıcak ve sayı eklemesi bitene kadar progress bar bize işlemin ne durumda olduğunu göstericek.

Öncelikle forumumuza bir adet listbox,bir adet buton ve bir adet progress bar ekleyelim.Programın görüntüsü aşağıdaki gibi olucaktır.

prog2Kodları ;

private void button1_Click(object sender, EventArgs e)
{
progressBar1.Minimum = 1;
progressBar1.Maximum = 10000;
progressBar1.Visible = true;
int k;
for (k = 1; k <= 10000; k++)
{
progressBar1.Value = k;
listBox1.Items.Add(k.ToString());
Application.DoEvents();
}
progressBar1.Visible = false;

}

Açıklaması;

öncelikle progress barı biraz anlatıyım size. Çalışma mantığı her işlemde bir artmasıdır.Minimum ve maximum değeleri belirtmek zorundasınız ve bunlar tabikide int tipinde olmak zorundadır yani 1,23 gibi bir rakam minimum değer olamaz.

ProgressBar’ın minimum değerini ayarlıyoruz. genelikle herkes 1 yapar

progressBar1.Minimum = 1;

Sonra maximum değerini veriyoruz bizimki 1000 yani progress bar 1000 sayısına ulaştığında yeşil cubuk sonda olucak.

progressBar1.Maximum = 10000;

Burada k adında yeni bir değişken yaatıyoruz bunu for döngüsünde kullanıcaz. Daha sonra for dongusu yaratıoruz progress barın değerini 1000 vermiştik hatırlarsanız o yuzden for dongusude 1000′e kadar devam edicek. Döngü her döndüğünde progress bar’ın values’u yani değeri k olucak. yani döngü ilk dondugunde 1 ikincide 2 vs. daha sonra listbox’a bu sayıları ekliyoruz. Application.DoEvents dememizin nedeni ise dongu bittiginde programın çalışmaya devam etmesini sağlamak

int k;
for (k = 1; k <= 10000; k++)
{
progressBar1.Value = k;
listBox1.Items.Add(k.ToString());
Application.DoEvents();
}

Evet Bu kadar 😀