C# Örnekleri – Access Adres ve Bilgi Defteri Uygulaması

adresdefteri

C# örneklerimize Access veri tabanını kullanarak yapılmış olan bir Adres ve Bilgi defteri uygulaması ile devam ediyoruz, uygulamada Adres defterine eklenen kişilerin veya arkadaşların telefon ve diğer iletişim bilgilerini toplu halde tutabiliyoruz. Konu Sonundan Programı İndirebilirsiniz.. İlk olarak bilgilerin kaydedileceği veri tabanını oluşturuyoruz. İki tane tablomuz var bunlar Bilgiler ve Kisiler
bilgiler

kisiler

İlk Olarak Ana Formu Oluştutuyoruz ve kodlarımızı yazıyoruz.
adresdefteri
using System.Data; ve using System.Data.OleDb; eklemeyi unutmuyoruz..

 static string veritabani = @"Arkadaslar.mdb";

      OleDbConnection vt_baglanti = new OleDbConnection(
         "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
         + veritabani + ";" +
         "Jet OLEDB:Database Password=;");

      private void FrmAna_Load(object sender, EventArgs e)
      {
         // form çalışınca arkadaşları yükle
         ArkadaslariYukle();
      }

      // arkadaş seçilince arkadaşa ait bilgiler yüklensin
      private void lstArkadaslar_SelectedIndexChanged(object sender, EventArgs e)
      {
         // önceki seçili kişinin bilgilerini temizle
         lstBilgi.Items.Clear();

         // eğer seçili kimse yoksa geri dön
         if (lstArkadaslar.SelectedItems.Count == 0) return;

         // seçili kişinin numarasını al
         ListViewItem kisi = lstArkadaslar.SelectedItems[0];
         int numara = int.Parse(kisi.SubItems[0].Text);

         // seçili kişinin bilgilerini yükle
         BilgileriYukle(numara);
      }

          // http://www.bilisimogretmeni.com
      // arkadaşları veritabanından yükler
      void ArkadaslariYukle()
      {
         // listeyi temizle
         lstArkadaslar.Items.Clear();

         // ÖNCE BAĞLANTIYI AÇ
         vt_baglanti.Open();

         // sorgu komutu oluştur
         OleDbCommand komut = new OleDbCommand("SELECT * FROM KISILER", vt_baglanti);

         // komutu çalıştırıp satır satır okuyacağız
         OleDbDataReader okuyucu = komut.ExecuteReader();
         while (okuyucu.Read())
         {
            ListViewItem kisi = new ListViewItem(
               new string[]{
                  okuyucu["Numara"].ToString(),
                  okuyucu["Adı"].ToString(),
                  okuyucu["Soyadı"].ToString()});

            lstArkadaslar.Items.Add(kisi);
         }

         // okuma işlemi bittikten sonra okuyucu kapanmalı
         okuyucu.Close();

         // işlemler bittikten sonra bağlantı kesilmeli
         vt_baglanti.Close();
      }
          // http://www.bilisimogretmeni.com
      // numarası verilmiş arkadaşın bilgilerini yükler
      void BilgileriYukle(int numara)
      {
         lstBilgi.Items.Clear();

         // bağlantıyı aç
         vt_baglanti.Open();

         string komut_satırı = "SELECT * FROM BILGILER WHERE Numara =" + numara;
         OleDbCommand komut = new OleDbCommand(komut_satırı, vt_baglanti);

         // komutu satır satır okuyacağız
         OleDbDataReader okuyucu = komut.ExecuteReader();
         while (okuyucu.Read())
         {
            ListViewItem bilgi = new ListViewItem(
               new string[]{
                  okuyucu["Numara"].ToString(),
                  okuyucu["Tip"].ToString(),
                  okuyucu["Bilgi"].ToString() });

            lstBilgi.Items.Add(bilgi);
         }

         // okuyucunun işi bitince kapat
         okuyucu.Close();

         // işlem bitin bağlantıyı kes
         vt_baglanti.Close();
      }

      private void btnArkadasEkle_Click(object sender, EventArgs e)
      {
         FrmArkadasEkleDuzenle frm = new FrmArkadasEkleDuzenle();
         frm.Ekleme = true;
         if (frm.ShowDialog() == DialogResult.OK)
         {
            // önce bağlantıyı aç
            vt_baglanti.Open();

            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(frm.SQL_Komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();
          // http://www.bilisimogretmeni.com
            // bağlantıyı kapat
            vt_baglanti.Close();

            // ekledikten sonra arkadaşları yükle
            ArkadaslariYukle();
         }
      }

      private void btnArkadasDuzenle_Click(object sender, EventArgs e)
      {
         // eğer seçili kimse yoksa geri dön
         if (lstArkadaslar.SelectedItems.Count == 0) return;

         FrmArkadasEkleDuzenle frm = new FrmArkadasEkleDuzenle();
         frm.Ekleme = false;

         // seçili kişinin numarasını al
         ListViewItem kisi = lstArkadaslar.SelectedItems[0];

         // düzenleyecek kişinin numarasını gönder.
         frm.Numara = int.Parse(kisi.SubItems[0].Text);
         frm.Ad = kisi.SubItems[1].Text;
         frm.Soyad = kisi.SubItems[2].Text;

         if (frm.ShowDialog() == DialogResult.OK)
         {
            // önce bağlantıyı aç
            vt_baglanti.Open();
          // http://www.bilisimogretmeni.com
            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(frm.SQL_Komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();

            // bağlantıyı kapat
            vt_baglanti.Close();

            // ekledikten sonra arkadaşları yükle
            ArkadaslariYukle();
         }
      }

      private void btnBilgiEkle_Click(object sender, EventArgs e)
      {
         FrmBilgiEkleDuzenle frm = new FrmBilgiEkleDuzenle();
         frm.Ekleme = true;
         // seçili kişinin numarasını al
         ListViewItem kisi = lstArkadaslar.SelectedItems[0];
          // http://www.bilisimogretmeni.com
         // düzenleyecek kişinin numarasını gönder.
         frm.Numara = int.Parse(kisi.SubItems[0].Text);

         if (frm.ShowDialog() == DialogResult.OK)
         {
            // önce bağlantıyı aç
            vt_baglanti.Open();

            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(frm.SQL_Komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();

            // bağlantıyı kapat
            vt_baglanti.Close();
          // http://www.bilisimogretmeni.com
            // ekledikten sonra arkadaşları yükle
            BilgileriYukle(frm.Numara);
         }
      }

      private void btnBilgiDuzenle_Click(object sender, EventArgs e)
      {
         // eğer seçili kimse yoksa geri dön
         if (lstBilgi.SelectedItems.Count == 0) return;

         FrmBilgiEkleDuzenle frm = new FrmBilgiEkleDuzenle();
         frm.Ekleme = false;

         // seçili bilginin numarasını ve Tipini al
         ListViewItem kisi = lstBilgi.SelectedItems[0];

         // düzenleyecek kişinin numarasını gönder.
         frm.Numara = int.Parse(kisi.SubItems[0].Text);
         frm.Tip = kisi.SubItems[1].Text;
         frm.Bilgi = kisi.SubItems[2].Text;

         if (frm.ShowDialog() == DialogResult.OK)
         {
            // önce bağlantıyı aç
            vt_baglanti.Open();
          // http://www.bilisimogretmeni.com
            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(frm.SQL_Komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();

            // bağlantıyı kapat
            vt_baglanti.Close();

            // ekledikten sonra arkadaşları yükle
            BilgileriYukle(frm.Numara);
         }
      }

      private void btnArkadasSil_Click(object sender, EventArgs e)
      {
         // eğer seçili kimse yoksa geri dön
         if (lstArkadaslar.SelectedItems.Count == 0) return;

         if (MessageBox.Show("Kişi Silinsin mi?", 
                             "Silmeyi Onayla", 
                             MessageBoxButtons.YesNo, 
                             MessageBoxIcon.Question) == DialogResult.Yes)
         {

            // seçili kişinin numarasını al
            ListViewItem kisi = lstArkadaslar.SelectedItems[0];

            // düzenleyecek kişinin numarasını gönder.
            int numara = int.Parse(kisi.SubItems[0].Text);

            // önce bağlantıyı aç
            vt_baglanti.Open();

            string sql_komut = "DELETE FROM KISILER WHERE Numara=" + numara;
            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(sql_komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();

            // bağlantıyı kapat
            vt_baglanti.Close();

            // ekledikten sonra arkadaşları yükle
            ArkadaslariYukle();
         }
      }

      private void btnBilgiSil_Click(object sender, EventArgs e)
      {
         // eğer seçili kimse yoksa geri dön
         if (lstBilgi.SelectedItems.Count == 0) return;

         if (MessageBox.Show("Bilgi Silinsin mi?",
                             "Silmeyi Onayla",
                             MessageBoxButtons.YesNo,
                             MessageBoxIcon.Question) == DialogResult.Yes)
         {

            // seçili kişinin numarasını al
            ListViewItem bilgi = lstBilgi.SelectedItems[0];

            // düzenleyecek kişinin numarasını gönder.
            int numara = int.Parse(bilgi.SubItems[0].Text);
            string tip = bilgi.SubItems[1].Text;

            // önce bağlantıyı aç
            vt_baglanti.Open();

            string sql_komut = "DELETE FROM BILGILER WHERE Numara=" + numara+" AND Tip='"+tip+"'";
            // insert komutu ekleme formundan gelecek
            OleDbCommand komut = new OleDbCommand(sql_komut, vt_baglanti);

            // komutu çalıştır
            komut.ExecuteNonQuery();

            // bağlantıyı kapat
            vt_baglanti.Close();

            // ekledikten sonra arkadaşları yükle
            BilgileriYukle(numara);
         }
      }

Bilgi Ekle Form tasarımı ve kodlarımız
bilgiekle

 public int Numara
      {
         get { return (int)nmNumara.Value; }
         set { nmNumara.Value = (decimal)value; }
      }

      public string Tip
      {
         get { return cbTip.Text; }
         set { cbTip.Text = value; }
      }

      public string Bilgi
      {
         get { return txtBilgi.Text; }
         set { txtBilgi.Text = value; }
      }


      public bool Ekleme = true;

      public string SQL_Komut;

      private void btnTamam_Click(object sender, EventArgs e)
      {          // http://www.bilisimogretmeni.com
         if (Ekleme)
         {
            SQL_Komut = "INSERT INTO BILGILER VALUES("
                        + Numara + ",'" + Tip + "', '" + Bilgi + "')";
         }
         else
         {
            SQL_Komut = "UPDATE BILGILER SET Tip = '" + Tip + "', " +
                        "Bilgi= '" + Bilgi + "' " +
                        "WHERE Numara =" + Numara +
                        " AND Tip = '"+Tip+"'";
         }
         DialogResult = DialogResult.OK;
      }

      private void FrmBilgiEkleDuzenle_Load(object sender, EventArgs e)
      {
         if (!Ekleme)
         {
            nmNumara.Enabled = cbTip.Enabled = false;
         }
      }          // http://www.bilisimogretmeni.com

Ve Son olarak arkadas ekle Form tasarımı ve kodlarımız
arkadasekle

  public int Numara 
      {
         get { return (int)nmNumara.Value; }
         set { nmNumara.Value = (decimal)value; }
      }

      public string Ad
      {
         get { return txtAd.Text; }
         set { txtAd.Text = value; }
      }

      public string Soyad
      {
         get { return txtSoyad.Text; }
         set { txtSoyad.Text = value; }
      }


      public bool Ekleme = true;

      public string SQL_Komut;

      private void btnTamam_Click(object sender, EventArgs e)
      {          // http://www.bilisimogretmeni.com
         if (Ekleme)
         {
            SQL_Komut = "INSERT INTO KISILER VALUES(" 
                        + Numara + ",'" + Ad + "', '"  + Soyad + "')";
         }
         else
         {
            SQL_Komut = "UPDATE KISILER SET Adı = '" + Ad + "', " +
                        "Soyadı= '" + Soyad + "' " +
                        "WHERE Numara =" + Numara;
         }
         DialogResult = DialogResult.OK;
      }
          // http://www.bilisimogretmeni.com
      private void FrmArkadasEkleDuzenle_Load(object sender, EventArgs e)
      {
         if (!Ekleme)
         {
            nmNumara.Enabled = false;
         }
      } 
[Yükleme bulunamadı.]