C#

C# Başlangıç Düzeyde Veri tabanı (Kütüphaneden) Bağlama, Listeleme, Ekleme, Güncelleme, Silme ve Arama

1. Listelemeyi Listview ‘e listelicez. Diğerleri TextBox, ComboBox vs. farklı bir şey yok. Pencereyi yaptıktan sonra kütüphane kodunu yaparak başlıyoruz.
[php]
using System.Data.SqlClient;
[/php]
2. Globalde Bağlantımızı açıyoruz.
[php]
SqlConnection bgl = new SqlConnection(@"Data Source=Kullanılan veri tabanı adı;Initial Catalog=database adı;Integrated Security=True");
[/php]
3. Ms-SQL de Database açıp tablo açtık kayitlar, il ve ilce olarak ve tablolar aşağıdadır.

4. Kayıtlardaki il ve ilçeleri diğer tablolarla ilişkilendirdim ve listviewde il ve ilce kolonları sayı çıkıcağından dolayı üç tabloyuda birleştirdim join ile ilerki zamanlarda bu konulara değincez.

5. Forma çift tıklayıp devam ediyorum. İl listesi, Listele, Temizleme birkaç yerde kullandığımdan dolayı metot yaptım. Amaç kod fazlalığından kurtulmak ve hemen anlaşılabilir kod olması.

[php]
private void Form1_Load(object sender, EventArgs e) //Pencere Yüklendiğinde Çalışıcak  kodlar
{
illistesi();
Listele();
Temizleme();
LstVw_Liste.FullRowSelect = true; //listview de tüm satır seçilmesi için
}

private void Temizleme()
{
TxtBx_Tc.Clear();
TxtBx_Ad.Clear();
TxtBx_Soyad.Clear();
CmbBx_ilce.SelectedItem = null;
CmbBx_il.SelectedItem = null;
id = 0;
Btn_Guncelle.Enabled = false;
Btn_Sil.Enabled = false ;
Btn_Ekle.Enabled = true;
}

private void illistesi()
{
bgl.Open();
SqlDataAdapter kmt = new SqlDataAdapter("select *from il", bgl);
DataTable tblo = new DataTable();
kmt.Fill(tblo);
CmbBx_il.DisplayMember = "iladi";
CmbBx_il.ValueMember = "illerID";
CmbBx_il.DataSource = tblo;
bgl.Close();
}

private void Listele() //KayıtlarListesi
{
LstVw_Liste.Items.Clear();
bgl.Open();
SqlCommand kmt = new SqlCommand("select *from Vw_kayit", bgl);
SqlDataReader oku = kmt.ExecuteReader();
while (oku.Read())
{
ListViewItem ekle = new ListViewItem();
ekle.Text = oku[0].ToString();
ekle.SubItems.Add(oku[1].ToString());
ekle.SubItems.Add(oku[2].ToString());
ekle.SubItems.Add(oku[3].ToString());
ekle.SubItems.Add(oku[4].ToString());
ekle.SubItems.Add(oku[5].ToString());
LstVw_Liste.Items.Add(ekle);
}
bgl.Close();
}
[/php]

6. İlleri Listeledim il seçince ilçe gelmesini istedim. CmbBx_il çift tıklayarak yazdım.

[php]
private void CmbBx_il_SelectedIndexChanged(object sender, EventArgs e)
{
if (CmbBx_il.Text != "") //il temizlediğinde boş olacağından hata vermesin diye
{
SqlDataAdapter kmt1 = new SqlDataAdapter("select *from ilce where ilID=@p1", bgl);
kmt1.SelectCommand.Parameters.AddWithValue("@p1", CmbBx_il.SelectedValue);
DataTable tblo1 = new DataTable();
kmt1.Fill(tblo1);
CmbBx_ilce.DisplayMember = "ilceadi";
CmbBx_ilce.ValueMember = "ilcelerID";
CmbBx_ilce.DataSource = tblo1;
bgl.Close();
}
}
[/php]

7. Temizleme Butonuna çift tıklayıp yazıyoruz. Birkaç yerde yazacağımızdan dolayı bir metot yaptım öle çektim.

[php]
private void Btn_Temizleme_Click(object sender, EventArgs e)
{
Temizleme();
}
[/php]

8. Ekle butona çift tıklayarak.

[php]
private void Btn_Ekle_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(TxtBx_Tc.Text) & !string.IsNullOrWhiteSpace(TxtBx_Ad.Text) & !string.IsNullOrWhiteSpace(TxtBx_Soyad.Text) & !string.IsNullOrWhiteSpace(CmbBx_il.Text) & !string.IsNullOrWhiteSpace(CmbBx_ilce.Text))
{
bgl.Open();
SqlCommand kmt = new SqlCommand("insert into kayit (tc,ad,soyad,il,ilce) values (@p1,@p2,@p3,@p4,@p5)", bgl);
kmt.Parameters.AddWithValue("@p1", TxtBx_Tc.Text);
kmt.Parameters.AddWithValue("@p2", TxtBx_Ad.Text);
kmt.Parameters.AddWithValue("@p3", TxtBx_Soyad.Text);
kmt.Parameters.AddWithValue("@p4", CmbBx_il.SelectedValue);
kmt.Parameters.AddWithValue("@p5", CmbBx_ilce.SelectedValue);
if (kmt.ExecuteNonQuery() > 0)
{
bgl.Close();
Listele();
Temizleme();
MessageBox.Show("Ekleme Başarılı");
}
else { MessageBox.Show("Ekleme Başarısız"); }
}
else { MessageBox.Show("Tüm Alanları Doldurunuz"); }
bgl.Close();
}
[/php]

9. Listviewde Listelenen veriye tıklıyoruz ve textbox ve comboboxlara getirtiyoruz.

[php]
private void LstVw_Liste_MouseClick(object sender, MouseEventArgs e)
{
Btn_Ekle.Enabled = false;
Btn_Guncelle.Enabled = true;
Btn_Sil.Enabled = true;
id = int.Parse(LstVw_Liste.SelectedItems[0].SubItems[0].Text);
TxtBx_Tc.Text = LstVw_Liste.SelectedItems[0].SubItems[1].Text;
TxtBx_Ad.Text = LstVw_Liste.SelectedItems[0].SubItems[2].Text;
TxtBx_Soyad.Text = LstVw_Liste.SelectedItems[0].SubItems[3].Text;
CmbBx_il.Text = LstVw_Liste.SelectedItems[0].SubItems[4].Text;
CmbBx_ilce.Text = LstVw_Liste.SelectedItems[0].SubItems[5].Text;
}
[/php]

10. Başta Güncelleme ve Silme Butonu pasif ettik şimdi ise Güncelleme butonu aktif olur ve çift tıklarız.

[php]
private void Btn_Guncelle_Click(object sender, EventArgs e)
{
DialogResult onayguncelle = MessageBox.Show("Guncellemek İstediğinizden Emin Misiniz?","Güncelleme Penceresi",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (onayguncelle==DialogResult.Yes)
{
bgl.Open();
SqlCommand kmt = new SqlCommand("update kayit set tc=@p1 , ad=@p2 ,soyad=@p3,il=@p4,ilce=@p5 where id=@p6", bgl);
kmt.Parameters.AddWithValue("@p1", TxtBx_Tc.Text);
kmt.Parameters.AddWithValue("@p2", TxtBx_Ad.Text);
kmt.Parameters.AddWithValue("@p3", TxtBx_Soyad.Text);
kmt.Parameters.AddWithValue("@p4", CmbBx_il.SelectedValue);
kmt.Parameters.AddWithValue("@p5", CmbBx_ilce.SelectedValue);
kmt.Parameters.AddWithValue("@p6", id);
if (kmt.ExecuteNonQuery() > 0)
{
bgl.Close();
Listele();
Temizleme();
id = 0;
MessageBox.Show("Güncelleme Başarılı");
}
else { MessageBox.Show("Günceleme Başarısız"); }
bgl.Close();
}
else { MessageBox.Show("İşlem İptal Edildi");}
}
[/php]

11. Veya Sil butonu aktif olur ve çift tıklarız.

[php]
private void Btn_Sil_Click(object sender, EventArgs e)
{
DialogResult onaysil = MessageBox.Show("Silmek İstediğinizden Emin Misiniz?", "Silme Penceresi", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (onaysil == DialogResult.Yes)
{
bgl.Open();
SqlCommand kmt = new SqlCommand("delete from kayit where id=@p1", bgl);
kmt.Parameters.AddWithValue("@p1", id);
if (kmt.ExecuteNonQuery()>0)
{
bgl.Close();
Listele();
Temizleme();
id = 0;
MessageBox.Show("silme başarılı");
}
else { MessageBox.Show("Silme Başarısız"); }
bgl.Close();
}
else { MessageBox.Show("İşlem İptal Edildi");}
}
[/php]

12. Arama da tc girerek butonuna çift tıklarız.

[php]
private void Btn_Ara_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(TxtBx_TcAra.Text))
{
LstVw_Liste.Items.Clear();
bgl.Open();
SqlCommand kmt = new SqlCommand("select *from Vw_kayit where tc like ‘" + TxtBx_TcAra.Text + "’", bgl);
SqlDataReader oku = kmt.ExecuteReader();
if (oku.Read())
{
ListViewItem ekle = new ListViewItem();
ekle.Text = oku[0].ToString();
ekle.SubItems.Add(oku[1].ToString());
ekle.SubItems.Add(oku[2].ToString());
ekle.SubItems.Add(oku[3].ToString());
ekle.SubItems.Add(oku[4].ToString());
ekle.SubItems.Add(oku[5].ToString());
LstVw_Liste.Items.Add(ekle);
}
else { MessageBox.Show("Eşleşen Kayıt yoktur"); }
bgl.Close();
}
else { MessageBox.Show("Lütfen Tc Giriniz"); }
}
[/php]

13. Son olarak Arama yapıldı liste bulundu listviewde 1 kayıt kaldı ondan dolayı liste yenileme ve tcara temizleme için çift tıklarız.

[php]
private void Btn_TemizleAra_Click(object sender, EventArgs e)
{
TxtBx_TcAra.Clear();
Listele();
}
[/php]

Click to comment

You must be logged in to post a comment Login

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

popüler yazılar

To Top
%d blogcu bunu beğendi: