IF / ELSE

C# dilinde IF yapısı bir koşulu kontrol etmek için kullanılır.

Temel Kullanım


private void button1_Click(object sender, EventArgs e)
        {
int sayi = Convert.ToInt32(textBox1.Text);
if (sayi % 2 == 0)
            {
                MessageBox.Show("Girilen Sayı Çift.");
            }
else
            {
                MessageBox.Show("Girilen Sayı Tek.");
            }
        }
private void button2_Click(object sender, EventArgs e)
        {
int sayi1, sayi2;
            sayi1 = Convert.ToInt32(textBox1.Text);
            sayi2 = Convert.ToInt32(textBox2.Text);
if (sayi1 > sayi2)
            {
                MessageBox.Show("1. Sayı Büyük");
            }
elseif (sayi2 > sayi1)
            {
                MessageBox.Show("2. Sayı Büyük");
            }
else {Console.WriteLine("Sayılar Eşit");}}

Not: IF koşulu true olduğunda ilk kod bloğu, false olduğunda else bloğu çalışır.

FOR Döngüsü

FOR döngüsü belirli sayıda tekrar yapmak için kullanılır.

Örnek

Private void button1_Click(object sender, EventArgs e)
        {
for (int i = 0; i <= 10; i++)
            {

for (int j = 0; j <= 10; j++)
                {
                    listBox1.Items.Add(i + "x" + j + "= "+ (i * j));
                }


            }
            MessageBox.Show(listBox1.Items.Count.ToString());
}


1'den 10'a kadar olan sayıları ekrana yazdırır.

ARRAY - Dizi

Array yani dizi, aynı türde birden fazla veriyi tek değişken içerisinde saklamak için kullanılır.

Dizi Tanımlama

private void button1_Click(object sender, EventArgs e)
        {
            int[] dizi = { 2, 4, 6, 8, 10 };

            for (int i = 0; i < dizi.Length; i++)
                listBox1.Items.Add(dizi[i].ToString());
        }

For ile Array Kullanımı

for (int i = 0; i < sayilar.Length; i++)
{
    Console.WriteLine(sayilar[i]);
}

DO WHILE

C# dilinde do while döngüsü koşul doğru olduğu sürece kod bloğunu çalıştırır.

Private void button1_Click(object sender, EventArgs e)
        {

int i = 1;

do
            {
                i+=2;
                listBox1.Items.Add(i.ToString());
            } while (i < 100) ;
        }
Private void button2_Click(object sender, EventArgs e)
        {
int sayi = 1;
while (sayi <= 10)
            {
                textBox1.Text=sayi.ToString();
                sayi++;
            }
        }

SWITCH CASE

C# dilinde birden fazla koşulu kontrol etmek için switch case yapısı kullanılır.

  private void button1_Click(object sender, EventArgs e)
        {

            int gun = Convert.ToInt32(textBox1.Text);
        switch (gun)
            {
                case 1:
                    textBox1.Text = "Pt";
                    break;
                case 2:
                    textBox1.Text = "salı";
                    break;
                case 3:
                    textBox1.Text = "Çarşamba";
                    break;
            }

        }

FOREACH

foreach diziler veya koleksiyonlar içerisindeki elemanları tek tek okumak için kullanılır.

privatevoid button1_Click(object sender, EventArgs e)
        {
string[] isimler = {"Ahmet","Emirhan","Elif",
"Hakan","Bora"};
foreach (string eleman in isimler)
            {
if (textBox1.Text==eleman)
                    {
                    MessageBox.Show("bulundu");
                }
            }
        }


PROCEDURE (SQL Saklı Yordam)

SQL Server'da Procedure (Saklı Yordam), belirli bir işlemi gerçekleştirmek için önceden derlenmiş ve veritabanında saklanan SQL kod bloklarıdır. C# tarafından çağrılarak kullanılır.

SQL'de Procedure Oluşturma

publicvoid topla()
        {
            MessageBox.Show(Convert.ToString(Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)),"toplam");
        }

publicint carp(int a, int b)
        {
int sonuc = a * b;
return sonuc;
        }
privatevoid button1_Click(object sender, EventArgs e)
        {
            topla();
int c, d;
            c = Convert.ToInt32(textBox1.Text);
            d=  Convert.ToInt32(textBox2.Text);
            carp(c, d);
            MessageBox.Show(Convert.ToString(carp(c, d)),"çarpım");
        }

C# ile Procedure Çağırma

publicvoid topla()
        {
            MessageBox.Show(Convert.ToString(Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)),"toplam");
        }

publicint carp(int a, int b)
        {
int sonuc = a * b;
return sonuc;
        }
privatevoid button1_Click(object sender, EventArgs e)
        {
            topla();
int c, d;
            c = Convert.ToInt32(textBox1.Text);
            d=  Convert.ToInt32(textBox2.Text);
            carp(c, d);
            MessageBox.Show(Convert.ToString(carp(c, d)),"çarpım");
        }

Not: Procedure'ler performans ve güvenlik açısından avantajlıdır.

FUNCTION

C# dilinde değer döndüren metotlar function mantığıyla kullanılır.

publicvoid topla()
        {
            MessageBox.Show(Convert.ToString(Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)),"toplam");
        }

publicint carp(int a, int b)
        {
int sonuc = a * b;
return sonuc;
        }
privatevoid button1_Click(object sender, EventArgs e)
        {
            topla();
int c, d;
            c = Convert.ToInt32(textBox1.Text);
            d=  Convert.ToInt32(textBox2.Text);
            carp(c, d);
            MessageBox.Show(Convert.ToString(carp(c, d)),"çarpım");
        }

METHOD

C# dilinde method, bir sınıf içerisinde belirli bir işlemi gerçekleştiren kod yapısıdır.

publicvoid topla()
        {
            MessageBox.Show(Convert.ToString(Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)),"toplam");
        }

publicint carp(int a, int b)
        {
int sonuc = a * b;
return sonuc;
        }
privatevoid button1_Click(object sender, EventArgs e)
        {
            topla();
int c, d;
            c = Convert.ToInt32(textBox1.Text);
            d=  Convert.ToInt32(textBox2.Text);
            carp(c, d);
            MessageBox.Show(Convert.ToString(carp(c, d)),"çarpım");
        }

SQL DATAREADER

SqlDataReader SQL Server'dan gelen kayıtları satır satır okumak için kullanılır.

using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace datareaderdataset
{
publicpartialclassForm1 : Form
    {
//SqlConnection cnn = new SqlConnection("Data Source=bora;User ID=sa;Password=517732Ff.;Initial Catalog=ogrenci");
        SqlConnection cnn = new SqlConnection("Data Source=bora;Integrated Security=True;Initial Catalog=ogrenci");
publicForm1()
        {
            InitializeComponent();
        }

privatevoid button1_Click(object sender, EventArgs e)
        {
string sql = "select * from view_ogrkurs";
            SqlDataAdapter adp = new SqlDataAdapter(sql,cnn);
            DataTable dt = new DataTable();
            cnn.Open();
//adp.Fill(ds,"view_ogrkurs");
            adp.Fill(dt);
//grdogrenci.DataSource = ds;
            grdogrenci.DataSource = dt;
            cnn.Close();
        }

privatevoid Form1_Load(object sender, EventArgs e)
        {


        }

privatevoid button2_Click(object sender, EventArgs e)
        {

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "SELECT * FROM tbl_ogrenci where ogrenci_id="+grdogrenci.CurrentRow.Cells["ogrenci_id"].Value +"" ;
            cnn.Open();

            SqlDataReader dr = cmd.ExecuteReader();



while (dr.Read())
            {
                textBox1.Text = dr["adsoyad"].ToString();
            }

            dr.Close();
            cnn.Close(); 
        }

privatevoid button2_Click_1(object sender, EventArgs e)
        {
string sql = "select * from view_ogrkurs";
            SqlDataAdapter adp = new SqlDataAdapter(sql, cnn);
            DataSet ds = new DataSet();

            cnn.Open();
            adp.Fill(ds,"view_ogrkurs");

            grdogrenci.DataSource = ds.Tables["view_ogrkurs"].DefaultView;
            cnn.Close();
        }
    }
}

DataReader verileri ileri doğru okur ve bağlantının açık olmasını gerektirir.

DATASET

DataSet verileri bellekte tablolar halinde tutmak için kullanılır.

using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace datareaderdataset
{
publicpartialclassForm1 : Form
    {
//SqlConnection cnn = new SqlConnection("Data Source=bora;User ID=sa;Password=517732Ff.;Initial Catalog=ogrenci");
        SqlConnection cnn = new SqlConnection("Data Source=bora;Integrated Security=True;Initial Catalog=ogrenci");
publicForm1()
        {
            InitializeComponent();
        }

privatevoid button1_Click(object sender, EventArgs e)
        {
string sql = "select * from view_ogrkurs";
            SqlDataAdapter adp = new SqlDataAdapter(sql,cnn);
            DataTable dt = new DataTable();
            cnn.Open();
//adp.Fill(ds,"view_ogrkurs");
            adp.Fill(dt);
//grdogrenci.DataSource = ds;
            grdogrenci.DataSource = dt;
            cnn.Close();
        }

privatevoid Form1_Load(object sender, EventArgs e)
        {


        }

privatevoid button2_Click(object sender, EventArgs e)
        {

            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "SELECT * FROM tbl_ogrenci where ogrenci_id="+grdogrenci.CurrentRow.Cells["ogrenci_id"].Value +"" ;
            cnn.Open();

            SqlDataReader dr = cmd.ExecuteReader();



while (dr.Read())
            {
                textBox1.Text = dr["adsoyad"].ToString();
            }

            dr.Close();
            cnn.Close(); 
        }

privatevoid button2_Click_1(object sender, EventArgs e)
        {
string sql = "select * from view_ogrkurs";
            SqlDataAdapter adp = new SqlDataAdapter(sql, cnn);
            DataSet ds = new DataSet();

            cnn.Open();
            adp.Fill(ds,"view_ogrkurs");

            grdogrenci.DataSource = ds.Tables["view_ogrkurs"].DefaultView;
            cnn.Close();
        }
    }
}

ADO.NET

ADO.NET, C# uygulamalarının SQL Server gibi veritabanlarıyla haberleşmesini sağlayan veri erişim teknolojisidir.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ogrkurs
{

publicpartialclassfrmogrkurs : Form
    {
        SqlConnection cnn = new SqlConnection("Server =.; Database = ogrenci; Integrated Security = true");
publicfrmogrkurs()
        {
            InitializeComponent();
        }

void kursadidoldur()
        {
            SqlDataAdapter adpkurs = new SqlDataAdapter("Select kurs_id,kursadi from sbt_kurs", cnn);
            DataTable dtkurs = new DataTable();
            cnn.Open();
            adpkurs.Fill(dtkurs);
            cnn.Close();

            ddlkursadi.DisplayMember = "kursadi";
            ddlkursadi.ValueMember = "kurs_id";
            ddlkursadi.DataSource = dtkurs;
        }
void kursiddoldur()
        {
            SqlDataAdapter adpkurs = new SqlDataAdapter("Select kurs_id,kursadi from sbt_kurs", cnn);
            DataTable dtkurs = new DataTable();

            cnn.Open();
            adpkurs.Fill(dtkurs);
            cnn.Close();
            ddlkursid.DataSource = dtkurs;
            ddlkursid.DisplayMember = "kursadi";
            ddlkursid.ValueMember = "kurs_id";

        }

void goster()
        {
            DataTable dt = new DataTable();
            SqlDataAdapter adp = new SqlDataAdapter("Select * from view_ogrkurs", cnn);
            cnn.Open();
            adp.Fill(dt);
            grdogr.DataSource = dt;
            cnn.Close();
        }
privatevoid frmogrkurs_Load(object sender, EventArgs e)
        {
            kursadidoldur();
            kursiddoldur();
            goster();
        }




privatevoid btnkaydet_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "set dateformat dmy insert into tbl_ogrenci(ogrencino,tckimlikno,adsoyad,telefon,email,kurs_id) values(@ogrencino,@tckimlikno,@adsoyad,@telefon,@email,@kurs_id)";
            cmd.Parameters.Add("@ogrencino", SqlDbType.NVarChar).Value = txtogrencino.Text;
            cmd.Parameters.Add("@tckimlikno", SqlDbType.NVarChar).Value = txttckimlikno.Text;
            cmd.Parameters.Add("@adsoyad", SqlDbType.NVarChar).Value = txtadsoyad.Text;
            cmd.Parameters.Add("@telefon", SqlDbType.NVarChar).Value = txttelefon.Text;
            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = txtemail.Text;
            cmd.Parameters.Add("@kurs_id", SqlDbType.Int).Value = ddlkursid.SelectedValue;
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();
            goster();
        }

privatevoid btnguncelle_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "set dateformat dmy update tbl_ogrenci set ogrencino=@ogrencino,tckimlikno=@tckimlikno,adsoyad=@adsoyad,telefon=@telefon,email=@email,kurs_id=@kurs_id where ogrenci_id=" + grdogr.CurrentRow.Cells["ogrenci_id"].Value + "";
            cmd.Parameters.Add("@ogrencino", SqlDbType.NVarChar).Value = txtogrencino.Text;
            cmd.Parameters.Add("@tckimlikno", SqlDbType.NVarChar).Value = txttckimlikno.Text;
            cmd.Parameters.Add("@adsoyad", SqlDbType.NVarChar).Value = txtadsoyad.Text;
            cmd.Parameters.Add("@telefon", SqlDbType.NVarChar).Value = txttelefon.Text;
            cmd.Parameters.Add("@email", SqlDbType.NVarChar).Value = txtemail.Text;
            cmd.Parameters.Add("@kurs_id", SqlDbType.Int).Value = ddlkursid.SelectedValue;
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();
            goster();
        }

privatevoid btnsil_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = cnn;
            cmd.CommandText = "set dateformat dmy delete from tbl_ogrenci  where ogrenci_id=" + grdogr.CurrentRow.Cells["ogrenci_id"].Value + "";
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();
            goster();
        }

privatevoid grdogr_CellClick(object sender, DataGridViewCellEventArgs e)
        {

string sql1 = "set dateformat dmy select * from tbl_ogrenci  where ogrenci_id=" + grdogr.CurrentRow.Cells["ogrenci_id"].Value + "";
            DataTable dt = new DataTable();
            SqlDataAdapter adp = new SqlDataAdapter(sql1, cnn);
            cnn.Open();
            adp.Fill(dt);
            cnn.Close();

foreach (DataRow dr in dt.Rows)
            {
                txtogrencino.Text = dr["ogrencino"].ToString();
                txttckimlikno.Text = dr["tckimlikno"].ToString();
                txtadsoyad.Text = dr["adsoyad"].ToString();
                txttelefon.Text = dr["telefon"].ToString();
                txtemail.Text = dr["email"].ToString();
                ddlkursid.SelectedValue = dr["kurs_id"];
            }
        }

privatevoid btnyeni_Click(object sender, EventArgs e)
        {
            txtogrencino.Text = "";
            txttckimlikno.Text = "";
            txtadsoyad.Text = "";
            txttelefon.Text = "";
            txtemail.Text = "";
            ddlkursadi.Text = "";
            ddlkursid.Text = "";
            txtara.Text = "";
            txtogrencino.Focus();
        }

privatevoid txtara_TextChanged(object sender, EventArgs e)
        {
string sql = "";
char str = '%';
if (txtara.Text != "")
            {
                sql = sql + " and adsoyad like '" + txtara.Text + str + "' or ogrencino like '" + txtara.Text + str + "' ";
            }
            sql = "Select * from view_ogrkurs where 1=1  " + sql;
            DataTable dt = new DataTable();
            SqlDataAdapter adp = new SqlDataAdapter(sql, cnn);
            cnn.Open();
            adp.Fill(dt);
            cnn.Close();
            grdogr.DataSource = dt;
        }
privatevoid ddlkursadi_SelectedIndexChanged(object sender, EventArgs e)
        {

try
            {


string sql = "";
if (ddlkursadi.Text != "")
                {
                    sql = sql + " and kursadi='" + ddlkursadi.Text + "'";
                }
                sql = "Select * from view_ogrkurs where 1=1  " + sql;
                DataTable dt = new DataTable();
                SqlDataAdapter adp = new SqlDataAdapter(sql, cnn);
                cnn.Open();
                adp.Fill(dt);
                cnn.Close();
                grdogr.DataSource = dt;
            }
catch (Exception xp1)
            {

            }
        }
    }
}





ADO.NET temel yapısı:

SqlConnection → SqlCommand → SqlDataReader / SqlDataAdapter → DataTable / DataSet